University Degree Tracker
Full-stack academic planner for Boston University CS students
96 / 128
3.72
32 / 48
6 / 8
Overview
BU Degree Tracker is an academic planning platform built from scratch to solve a real problem: BU's degree audit tools are scattered and hard to navigate. Rather than juggling spreadsheets and the BU Student Link portal, I built a unified dashboard tracking everything in one place:
- Hub requirements across all 21 learning outcomes and 6 capacities
- CS degree progress including core, elective, and concentration requirements
- Semester planner with drag-and-drop and real-time prerequisite validation
The project includes a full web scraper pulling live course data from BU's catalog, a RateMyProfessors integration for professor ratings, and authentication via Supabase Auth. Server-side rendering runs through Next.js App Router with a PostgreSQL database hosted on Supabase.
Engineering Challenges
- Prerequisite graph parsing: BU's prerequisite strings use mixed AND/OR logic in natural language. I built a parser converting these into a relational graph (CoursePrerequisite model), enabling real-time cycle detection and violation highlighting in the planner.
- Hub unit computation: Hub requirements have a cap — completing 3 courses in one area only counts for the area's unit limit (usually 2). The
getOverallProgress()function applies this cap across all 21 areas in a single server-side pass, running parallel Prisma queries for performance. - Scraper reliability: BU's catalog loads dynamic content. The scraper uses paginated listing requests, per-course detail fetches, and a custom RMP lookup by school ID to batch-import roughly 2,000 courses with schedules and ratings.
Key Features
SVG progress rings for credits, GPA, Hub units, and CS degree completion, all computed server-side from a single data source.
Drag-and-drop planner with prerequisite violation detection. Red borders appear instantly when courses are placed out of order.
Cheerio-based scraper that pulls and parses BU's full course catalog, extracting hub areas, prerequisites, and schedule data.
Tracks all 21 BU Hub learning outcomes across 6 capacities, with manual override support and suggested courses to fill gaps.
RateMyProfessors data integrated per course section, showing rating, difficulty, and student reviews without leaving the app.
Supabase Auth with email/password login. Each user's progress is fully isolated, with an onboarding flow on first sign-in.