Skip to content

A Django web application that generates and manages timetables for educational institutions, considering factors like room availability, teacher preferences, and course requirements.

Notifications You must be signed in to change notification settings

menacingly-coded/Time_Table_scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Time Table Scheduler

License Python Django

Overview

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.

Features

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

Tech Stack

  • Backend: Python, Django
  • Frontend: HTML, CSS, JavaScript (optional: React/Vue for dynamic UI)
  • Database: PostgreSQL / MySQL / SQLite
  • Authentication: Django Authentication System

Installation

Prerequisites

  • Python 3.9+
  • Django 4.0+
  • PostgreSQL / MySQL / SQLite

Setup Instructions

# 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

Usage

  1. Login as an admin to configure the system.
  2. Add subjects, teachers, and available time slots.
  3. Generate the timetable automatically or manually adjust schedules.
  4. Share the generated timetable with teachers and students.

API Endpoints (if applicable)

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

Contribution Guidelines

  1. Fork the repository.
  2. Create a new branch (feature-branch).
  3. Commit your changes.
  4. Push the branch and create a pull request.

Contact

For any inquiries, please reach out via [email protected] or create an issue in the repository.


Happy Coding! 🚀

About

A Django web application that generates and manages timetables for educational institutions, considering factors like room availability, teacher preferences, and course requirements.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published