The Exam Scheduling System is a powerful web application designed to simplify and automate the process of scheduling exams for universities. Built with Flask, this backend application provides seamless management of teachers, exams, subjects, departments, and classrooms, ensuring efficient and conflict-free scheduling. 🌟
- 🔐 User Authentication: Secure login for administrators and teachers using token-based authentication.
- 📝 CRUD Operations: Manage teachers, exams, subjects, departments, and classrooms effortlessly.
- 🗓️ Scheduling: Create timetables, assign teachers, and allocate classrooms with ease.
⚠️ Conflict Management: Automatic detection and resolution of scheduling conflicts.- 📱 Responsive Design: User-friendly across all devices.
- Flask: A lightweight Python web framework.
- SQLAlchemy: Powerful SQL toolkit and ORM.
- MySQL: Reliable relational database management system.
- JWT: Secure JSON Web Tokens for authentication.
- Flask-RESTful: Quickly build REST APIs.
-
Clone the repository:
git clone https://github.com/yourusername/exam-scheduling-system.git cd exam-scheduling-system
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Set up the database:
- Ensure MySQL is installed and running.
- Create a new database for the project.
- Update the database URI in
config.py
with your database credentials.
-
Run the application:
flask run
- Admin Dashboard: Manage teachers, exams, subjects, departments, and classrooms.
- Schedule Creation: Assign teachers to exams, allocate classrooms, and set exam times.
- Conflict Management: System automatically handles conflicts and ensures no overlaps.
- 🔑 Authentication:
/auth/login
,/auth/register
- 👩🏫 Teachers:
/teachers
,/teachers/<id>
- 📅 Exams:
/exams
,/exams/<id>
- 📚 Subjects:
/subjects
,/subjects/<id>
- 🏢 Departments:
/departments
,/departments/<id>
- 🏫 Classrooms:
/classrooms
,/classrooms/<id>
- 📋 Scheduling:
/schedule
For any inquiries or feedback, please contact:
- Name: Moosa
- Email: moosakhan3856902@gmail.com