OptimizationShipped
EPITA Class Scheduler
A timetable engine that turns room, teacher and slot rules into a conflict-free schedule with the Z3 solver.
Architecture
How it works
- Courses · teachers · rooms · timeslots
- Constraints encoded for Z3
- SMT solve
- Conflict-free weekly timetable
- React calendar UI
Information
Building a university timetable by hand means juggling room capacity, teacher availability and course clashes. Encoding those rules as constraints lets a solver find a valid week automatically.
- Z3 SMT solver
- FastAPI
- SQLAlchemy
- PostgreSQL
- React + TypeScript
- pytest