Classter is a modern web application developed with Angular and Firebase, designed to manage school activities for students and teachers, offering advanced artificial intelligence support and real-time functionalities.
- Frontend: Angular, NgRx, Angular Material / TailwindCSS
- Backend: Firebase Realtime Database, Authentication, Storage, Cloud Functions
- AI & OCR: Gemini API (Summarization and Virtual Assistant), Google Vision API (OCR and image analysis)
π Live Demo: Classter App
- Role-based authentication: student, teacher, admin
- Firebase Authentication
- Create, edit, and delete courses
- Course materials (documents, images)
- Automatic/manual student enrollment
- Add and manage assignments and projects
- Automated assignment submission and validation via OCR (Google Vision API)
- Intuitive attendance system
- Excel report generation (ExcelService)
- Export and import academic data in Excel
- Student and teacher performance analytics
- Automatic course material summaries
- Intelligent feedback for assignments and projects (Gemini API)
- Integrated virtual assistant (chatbot)
- Real-time notifications for updates, grades, and deadlines
- Firebase Cloud Messaging
src
βββ app
β βββ core
β β βββ services (Firebase, Excel, Gemini, Vision)
β βββ modules
β β βββ auth
β β βββ dashboard
β β βββ courses
β β βββ assignments
β β βββ attendance
β β βββ users
β βββ shared
β βββ store (NgRx)
β βββ actions
β βββ reducers
β βββ effects
β βββ selectors
βββ environments
classter
βββ users
βββ courses
βββ assignments
βββ attendance
βββ notifications
- ExcelService: Generate and import academic data in Excel format
- GeminiService: Automatic summaries, intelligent feedback, chatbot
- GoogleVisionService: OCR and automatic document validation
Component β Action β Effect β Service (Firebase) β Reducer β Store β Selector β Component
- Clone the repository:
git clone https://github.com/username/classter.git
cd classter
- Install dependencies:
npm install
- Configure the environment.ts file:
export const environment = {
firebaseConfig: {
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: "",
appId: "",
},
};
- Run the application:
ng serve
ng build --prod
firebase deploy
Built with β€οΈ using Angular & Firebase