ChronoSync is a powerful administrative scheduling tool designed to generate optimized academic schedules by balancing instructor availability, room constraints, course demand, and seat allocation. Built with usability and automation in mind, it helps institutions streamline their semester planning process with a single click.
- 🗓️ Automated Scheduling: Uses Google OR-Tools to create conflict-free schedules.
- 👨🏫 Instructor & Room Availability: Accounts for specific availability and restrictions.
- 🏛️ Seat Allocation Management: Prioritizes maximum seat usage across classrooms.
- 🎓 Student-centric Planning: Ensures prerequisite and conflict resolution for student course loads.
- 📊 Modern Dashboard: Intuitive frontend for admins and schedulers to visualize and interact with data.
- Frontend: Vite + React
- Backend: Python Flask
- Database: MySQL
- Optimization Engine: Google OR-Tools
- Node.js & npm
- Python 3.10+
- MySQL server
pipfor Python package management
git clone https://github.com/yourusername/chronosync.git
cd chronosynccd Flask
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
touch .env # Update MySQL credentials and settings MYSQL_PUBLIC_URL = "mysql+pymysql://username:password@IPADDRESS:PORT/DATABASENAME"
cd frontend
npm installfrom the top-level directory
npm run start
- Open Website
- Define courses, professors, rooms, and their constraints.
- Click "Schedule" to run the optimization engine.
- Review the generated timetable.
- OR-Tools is used for solving constraint satisfaction problems.
- Flask handles API routes and connects to the MySQL database.
- React communicates via RESTful endpoints and visualizes scheduling results dynamically.
MIT License. See LICENSE file for details.