How saidmansurhon/table works
This Django university timetable scheduler takes administrators and coordinators from infrastructure and academic setup through combined-class definition and timetable generation, then offers saved, printable timetable views and student access. Class advisors have batch-scoped management; manual scheduling and conflict suggestions provide a separate editing path. The README documents CSV/student management and role capabilities beyond the sampled excerpts. Edges reflect explicit README descriptions or the shown source references and calls; unsampled routes and persistence details are not inferred.
Main entry points: models.py Academic Models · views.py Timetable Generation · urls.py Application Routing · suggestions_django.py Conflict Suggestions
Components 19
Academic Setup
- Setup Forms
core/forms.py - Academic Management
core/views.py - Room Infrastructure
core/models.py - CSV Management
core/views.py
Timetable Scheduling
- Combined Classes
core/forms.py - Timetable Generation
core/views.py - CP-SAT Solver
scheduler_engine/solver.py - Manual Scheduling
core/manual_schedule.py - Conflict Suggestions
core/suggestions_django.py - Suggestion Search
core/suggestion_engine.py - Saved Timetables
core/models.py
User Portals
- Timetable Views
core/views.py - Student Management
core/views.py - Application Routing
scheduler_project/urls.py - Web Interface
static/js/main.js
Domain Data
- Academic Models
core/models.py
Other components
- Admin / Coordinator
- Class Advisor
- Student
Connections 28
- Admin / Coordinator → Academic Management: manages setup
- Class Advisor → Academic Management: manages batch
- Academic Management → Setup Forms: uses forms
core/forms.py - Setup Forms → Academic Models: validates against
core/forms.py - Admin / Coordinator → Room Infrastructure: defines rooms
- Academic Management → CSV Management: uploads data
core/views.py - CSV Management → Academic Models: creates records
core/views.py - Admin / Coordinator → Combined Classes: defines shared slots
- Class Advisor → Combined Classes: manages shared slots
- Combined Classes → Academic Models: stores assignments
core/forms.py - Admin / Coordinator → Timetable Generation: requests generation
- Class Advisor → Timetable Generation: requests batch run
- Timetable Generation → CP-SAT Solver: invokes solver
core/views.py - Timetable Generation → Academic Models: loads inputs
core/views.py - Timetable Generation → Academic Models: writes entries
core/views.py - Timetable Generation → Saved Timetables: snapshots prior schedule
core/views.py - Manual Scheduling → Academic Models: reads and saves
core/manual_schedule.py - Manual Scheduling → Conflict Suggestions: requests proposals
core/manual_schedule.py - Conflict Suggestions → Suggestion Search: ranks alternatives
core/suggestions_django.py - Conflict Suggestions → Academic Models: loads and applies
core/suggestions_django.py - Student → Application Routing: opens portal
- Admin / Coordinator → Application Routing: opens application
scheduler_project/urls.py - Application Routing → Timetable Views: routes requests
scheduler_project/urls.py - Timetable Views → Academic Models: reads timetable
core/views.py - Student → Student Management: account provisioned
- Student Management → Academic Models: links student batch
core/views.py - Timetable Views → Saved Timetables: renders saved schedule
core/views.py - Web Interface → Application Routing: supports navigation