🎓 University Timetable System

System A: PHP + MySQL + JavaScript

Automatic timetable generation with intelligent constraint satisfaction

Launch Application →

Technology Stack

PHP 7.4+ MySQL 8.0+ HTML5 CSS3 JavaScript ES6 RESTful API

📊 Master Data Management

Complete CRUD operations for faculties, lecturers, subjects, batches, buildings, and resources.

🔒 Constraint Management

Define blocked slots, frozen sessions, and lecturer time requests (preferred and mandatory).

⚙️ Automatic Scheduling

Intelligent constraint satisfaction algorithm with priority-based allocation.

🕒 30-Minute Slots

Flexible time slot model supporting sessions of any duration (multiples of 30 minutes).

👁️ Multiple Views

Weekly timetable, lecturer-specific, batch-specific, and resource-specific views.

⚠️ Conflict Detection

Detailed conflict reporting with suggestions for resolution.

📤 Export Options

Export timetables to PDF and Excel formats for sharing and printing.

🎯 Hard & Soft Constraints

Balance must-satisfy requirements with optimization preferences.

🚀 Quick Start Guide

  1. Add all master data (Faculties, Lecturers, Subjects, Batches, Buildings, Resources)
  2. Create lecturer-subject and batch-subject mappings
  3. Define constraints (blocked slots, frozen slots, time requests)
  4. Click "Generate Timetable" button
  5. View and export the generated timetable

📋 Algorithm Highlights

  • Constraint Satisfaction Problem (CSP) solving approach
  • Priority-based allocation (frozen → blocked → mandatory → available)
  • Greedy with backtracking for optimal solutions
  • Hard constraints: No overlaps, capacity matching, resource type matching
  • Soft constraints: Gap minimization, workload balancing, preferences

📚 Documentation

README Setup Guide Algorithm Details

Default Login:

Username: admin | Password: admin123