Skip to content

AmirEspahbodi/learning-managenet-system

Repository files navigation

Education Management System

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.

Features

1. Course Management System

  • 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.

2. Quiz & Exam System

  • 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.

3. User Roles

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.

4. Token Management System

  • 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.

Running the Project

To run the project, use Docker Compose. Make sure Docker is installed on your machine.

Run the following command:

docker compose up -d

under refactoring

checkout old branch

Run In Postman