Time Table Scheduler is a web-based application built with Python and Django that automates the process of generating and managing time tables for institutions, schools, and universities. It allows administrators to define constraints, allocate time slots, and manage schedules efficiently.
- Automated Time Table Generation: Generates schedules based on predefined rules.
- User Roles: Admin, Teachers, and Students with different permissions.
- Custom Constraints: Define rules such as working hours, break times, and subject allocations.
- Real-Time Updates: Modify schedules dynamically and notify users.
- Conflict Detection: Identifies and resolves overlapping classes or scheduling issues.
- Export & Print: Download schedules in PDF or Excel format.
- Backend: Python, Django
- Frontend: HTML, CSS, JavaScript (optional: React/Vue for dynamic UI)
- Database: PostgreSQL / MySQL / SQLite
- Authentication: Django Authentication System
- Python 3.9+
- Django 4.0+
- PostgreSQL / MySQL / SQLite
# Clone the repository
git clone https://github.com/your-username/time-table-scheduler.git
cd time-table-scheduler
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
# Install dependencies
pip install -r requirements.txt
# Apply migrations
python manage.py migrate
# Create a superuser
python manage.py createsuperuser
# Run the development server
python manage.py runserver
- Login as an admin to configure the system.
- Add subjects, teachers, and available time slots.
- Generate the timetable automatically or manually adjust schedules.
- Share the generated timetable with teachers and students.
Endpoint | Method | Description |
---|---|---|
/api/timetable/ |
GET | Retrieve the generated schedule |
/api/teachers/ |
GET | Fetch list of teachers |
/api/classes/ |
POST | Create a new class schedule |
- Fork the repository.
- Create a new branch (
feature-branch
). - Commit your changes.
- Push the branch and create a pull request.
For any inquiries, please reach out via [email protected] or create an issue in the repository.
Happy Coding! 🚀