Skip to content

A 7 full-stack engineering effort to develop a DSATUR-based final exam scheduling system for NEU, featuring automated conflict resolution, room assignment, and a full-stack deployment pipeline.

Notifications You must be signed in to change notification settings

KhourySpecialProjects/ExamEngine

Repository files navigation

Exam Engine

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.

Quick Links

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

Overview

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

Tech Stack

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

Project Structure

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

Quick Start

# 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:3000

See Development Guide for detailed setup instructions.

License

MIT License - see LICENSE for details.

Support

  • Open an issue
  • API docs available at /docs endpoint when running

About

A 7 full-stack engineering effort to develop a DSATUR-based final exam scheduling system for NEU, featuring automated conflict resolution, room assignment, and a full-stack deployment pipeline.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7