How rtdabz/web-based-intelligent-conflict-detection-and-recommendation-system-for-academic-scheduling works
WICARS is an academic scheduling system for department setup, conflict-aware timetable creation, staged Dean/VPAA approval, and schedule reporting and history. The graph preserves that user workflow and the documented catalog, assignment, and room-request capabilities. Internal generation links are based on the named scheduling services and engine modules in the tree; sampled excerpts do not establish all controller-to-service wiring, so uncertain internal calls are omitted.
Main entry points: api.php Laravel API routes · App.tsx WICARS web app · ScheduleRecommendationController.php Generation API · ConfigurationStep.tsx Schedule builder
Components 20
User experience
- WICARS web app
wicars-ui/src/App.tsx - Schedule builder
wicars-ui/src/pages/ClassSchedules/SchedulerPanel/GenerateSchedule/ConfigurationStep.tsx - Approval workspace
wicars-ui/src/components/scheduling/ScheduleApprovalList.tsx - Reports
wicars-ui/src/lib/reports.ts
Academic setup
- Academic catalogs
backend/app/Http/Controllers/CoursesController.php - Faculty assignments
backend/app/Http/Controllers/InstructorAssignmentController.php - Rooms and requests
backend/app/Http/Controllers/RoomRequestController.php
Scheduling
- Schedule operations
backend/app/Http/Controllers/ScheduleController.php - Generation API
backend/app/Http/Controllers/ScheduleRecommendationController.php - Plan generation
backend/app/Services/Scheduling/Generation/GenerateSchedulePlan.php - Constraint solver
backend/app/Services/Scheduling/Engine/CspSolver.php - Schedule rules
backend/app/Services/Scheduling/Engine/RuleEngine.php - Plan commit
backend/app/Services/Scheduling/Schedule/CommitSchedulePlan.php
Approval and oversight
- Schedule approvals
backend/app/Http/Controllers/ScheduleController.php - Schedule history
backend/app/Services/ScheduleHistoryRecorder.php - Reports and dashboards
backend/app/Http/Controllers/ReportsController.php
Application platform
- Laravel API routes
backend/routes/api.php - Domain models
backend/app/Models - Application database
backend/config/database.php
Other components
- Academic staff
Connections 24
- Academic staff → WICARS web app: uses
- WICARS web app → Schedule builder: opens
- WICARS web app → Approval workspace: opens
- WICARS web app → Reports: opens
- Schedule builder → Generation API: requests generation
- Schedule builder → Schedule operations: edits timetable
- Academic staff → Academic catalogs: maintains setup
- Academic staff → Faculty assignments: assigns instructors
- Academic staff → Rooms and requests: manages rooms
- Generation API → Plan generation: generates plans
- Plan generation → Constraint solver: solves constraints
- Schedule operations → Schedule rules: checks conflicts
- Generation API → Plan commit: commits plans
- Academic staff → Approval workspace: reviews schedules
- Approval workspace → Schedule approvals: submits decisions
- Academic staff → Reports and dashboards: views reports
- Academic staff → Schedule history: reviews versions
- Academic catalogs → Laravel API routes: serves requests
- Faculty assignments → Laravel API routes: serves requests
- Rooms and requests → Laravel API routes: serves requests
- Schedule operations → Laravel API routes: serves requests
- Generation API → Laravel API routes: serves requests
- Laravel API routes → Domain models: accesses records
- Domain models → Application database: persists data