A full-stack web application designed to manage classroom activities efficiently, with role-based access for Principals, Teachers, and Students.
-
Principal
- Create classrooms with specified schedules.
- Assign teachers and students to classrooms.
- Manage teacher and student accounts.
-
Teacher
- Manage students within their assigned classroom.
- Create and manage the timetable for their classroom.
-
Student
- View their classroom timetable.
- Access details of fellow students in their classroom.
- A default Principal account is created at app start:
- Email: principal@classroom.com
- Password: Admin
- Principals can create accounts for Teachers and Students.
- Classrooms are created with a name, start time, end time, and the days in session.
- Timetables are created by Teachers within the classroom's schedule.
- Frontend: React, Vite, Tailwind CSS, TypeScript
- Backend: Node.js, Express, MongoDB, TypeScript
- Clone the repository.
- Install dependencies:
npm install
. - Set up environment variables.
- Start the backend:
npm run dev
for development ornpm start
for production. - Start the frontend:
npm run dev
.
This project is licensed under the MIT License.