Skip to content

nihal1294/chronosolve

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChronoSolve

ChronoSolve

A generalized university course timetable scheduling solver powered by constraint optimization.

What It Does

ChronoSolve generates conflict-free timetables for educational institutions. Unlike rigid, institution-specific tools, it treats every scheduling detail; days, time slots, rooms, teacher preferences, etc; as configurable input rather than hardcoded assumptions.

Core solver: Google OR-Tools CP-SAT - a production-grade constraint programming solver that finds optimal (or near-optimal) schedules while respecting hard constraints and maximizing soft preferences.

Hard constraints (must be satisfied):

  • No teacher/student group/room clashes
  • Required teaching hours per subject
  • Teacher and group availability
  • Consecutive hours for lab sessions

Soft constraints (optimized with configurable weights):

  • Minimize student gaps between classes
  • Respect teacher time preferences (morning slots, free days, leave early)
  • Spread subjects across the week
  • Balance teacher workload

Tech Stack

Component Technology
Solver Python 3.14+ · Google OR-Tools CP-SAT
Data models Pydantic v2
Input format YAML / JSON
CLI Typer
Desktop app Tauri v2 · React · TypeScript · Tailwind CSS (planned)
Package manager uv

Status

Early development, solver core is being built first, desktop app will follow.

License

Apache License 2.0

About

A generalized university course timetable scheduling solver with constraint optimization (OR-Tools) and a modern desktop UI (Tauri v2).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors