This project is a comprehensive Education Management System designed to manage courses, quizzes, exams, and user roles. It is built using Django and Django REST Framework for the backend.
- Manage courses offered each semester.
- Each course can have multiple class groups per semester.
- Assign instructors to courses.
- Students can register for courses and pay tuition fees or apply for scholarships with instructor approval.
- Supports various types of questions, including:
- Text-based answers.
- File-based answers.
- Multiple choice questions.
- Instructors can review answers, assign grades, and provide recommendations or feedback to students.
The system has four types of users, each with different access levels:
- Admins: Manage the entire system.
- Instructors: Handle course management and grade students.
- Students: Enroll in courses, take quizzes, and receive grades.
- Supervisors: Oversee course operations.
- Sets a maximum number of tokens each user can have (configurable).
- Logs user login activities.
- Sends notifications to the user’s email on new logins based on predefined settings.
To run the project, use Docker Compose. Make sure Docker is installed on your machine.
Run the following command:
docker compose up -d