Back to Projects
Opti-Time - AI Integrated Time Table Generator

Opti-Time - AI Integrated Time Table Generator

Django timetabling engine solving university scheduling with constraint handling, batch management, and optimized faculty allocation.

PythonDjangoHTMLCSSBootstrapAIMLPostgreSQL

Read Me

๐Ÿ•’ Opti-Time - AI Integrated Time Table Generator

Automated Class Timetable Generator A robust, randomized heuristic-based system for automating complex academic scheduling. Built with Django, it easily handles classes, practical batches, and teacher assignments while strictly adhering to constraints.

โœจ Key Features

  • ๐Ÿค– Automated Scheduling: Generate valid, multi-class timetables with a single click.
  • โšก Conflict Detection: Real-time validation prevents double-booking of teachers and rooms.
  • ๐Ÿงช Batch Management: Automatically handles distinct practical batches (e.g., A1, A2, A3) with unique teachers.
  • โš–๏ธ Smart Allocation: Prioritizes practical blocks, limits theory to max 2/day, and intelligently fills gaps.
  • ๐Ÿ“Š Visual Dashboards: Global and per-class analytics for tracking workloads and conflicts.
  • ๐Ÿ”„ Dynamic Regeneration: One-click alternative schedule generation.
  • ๐Ÿ“ฅ Export Ready: Download schedules in PDF, Excel, and PNG formats.

๐Ÿ› ๏ธ Tech Stack

  • Backend: Python 3.11+, Django, SQLite/PostgreSQL, WhiteNoise
  • Frontend: HTML5, CSS3, Vanilla JS
  • Key Libraries: itertools & random (algorithm), reportlab (PDF), xlsxwriter (Excel)

๐Ÿง  How the Algorithm Works

  1. Phase 1: Practical Scheduling (Hard Constraint) - Allocates combined practical slots ensuring unique teachers and cross-checking availability.
  2. Phase 2: Theory Scheduling - Assigns theory lectures based on teacher availability and a daily load limit (max 2/day).
  3. Phase 3: Gap Filling & Optimization - Fills remaining empty slots with "Extra" or "Library" periods to ensure a complete schedule.

๐Ÿ“ฆ Quick Start

# Clone the repository
git clone https://github.com/vedangdhuri/Opti-Time-69.git
cd Opti-Time

# Setup virtual environment & install dependencies
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -r requirements.txt

# Setup Database & optional sample data
python manage.py makemigrations
python manage.py migrate
python populate_fyco_real.py
python populate_syco_real.py
python populate_tyco_real.py

# Run the server
python manage.py runserver

Visit http://127.0.0.1:8000/ in your browser.