Schedule Smarter
An intelligent exam scheduling system that uses the DSATUR graph coloring algorithm to automatically generate conflict-free exam schedules. Built for Northeastern University's Office of the Vice Provost and Office of the University Registrar to assist final exam scheduling processes.
| Document | Description |
|---|---|
| Development Guide | Local setup, running the app, code style |
| Infrastructure | AWS deployment, Terraform, production setup |
| Testing | Running tests, CI/CD workflows |
| Data Guide | CSV formats, validation, database schema |
| Algorithm | DSATUR implementation details |
ExamEngine solves the complex problem of creating conflict-free exam timetables by analyzing student enrollment data, classroom capacities, and scheduling constraints.
Key Capabilities:
- Schedules 15,000+ students across 1,500+ course sections
- Uses 270 rooms and 25 time slots
- Generates schedules in minutes (vs. weeks manually)
- Prevents student conflicts and back-to-back exams
- Limits students to max 2 exams per day
| Layer | Technology |
|---|---|
| Frontend | Next.js 15, TypeScript, Tailwind CSS, Shadcn/ui |
| Backend | FastAPI, Python 3.12, SQLAlchemy |
| Database | PostgreSQL 15 |
| Infrastructure | AWS (ECS Fargate, RDS, S3, ALB), Terraform |
| CI/CD | GitHub Actions, Docker |
ExamEngine/
├── frontend/ # Next.js React application
├── backend/ # FastAPI Python server
├── infrastructure/ # Terraform IaC
├── docs/ # Documentation
│ ├── DEVELOPMENT.md
│ ├── INFRASTRUCTURE.md
│ ├── TESTING.md
│ ├── DATA.md
│ └── ALGORITHM.md
├── docker-compose.yml
└── README.md
# Clone and start with Docker
git clone https://github.com/example.git
cd ExamEngine
cp .env.example .env
docker-compose --profile dev up -d
# Access the application
open http://localhost:3000See Development Guide for detailed setup instructions.
MIT License - see LICENSE for details.
- Open an issue
- API docs available at
/docsendpoint when running