Back to Projects

University Degree Tracker

Full-stack academic planner for Boston University CS students

Academic Technology Full-Stack Web 2025/26
bu-degree-tracker.vercel.app
Dashboard
Courses
BU Hub
Degree
Planner
Programs
Professors
Dashboard — Fall 2025
Credits
96 / 128
GPA
3.72
Hub
32 / 48
CS Core
6 / 8
Hub Capacities
Communication
Quant. Reason.
Scientific Inq.
Ethical Reason.
CS Degree
Core
Electives
Math
Writing
A CS 320 — Analysis of Algorithms
A- MA 293 — Discrete Mathematics
IP CS 411 — Database Systems
IP CS 330 — Introduction to Algorithms
PL CS 440 — Artificial Intelligence

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

Live Dashboard

SVG progress rings for credits, GPA, Hub units, and CS degree completion, all computed server-side from a single data source.

Semester Planner

Drag-and-drop planner with prerequisite violation detection. Red borders appear instantly when courses are placed out of order.

Course Scraper

Cheerio-based scraper that pulls and parses BU's full course catalog, extracting hub areas, prerequisites, and schedule data.

BU Hub Tracker

Tracks all 21 BU Hub learning outcomes across 6 capacities, with manual override support and suggested courses to fill gaps.

Professor Ratings

RateMyProfessors data integrated per course section, showing rating, difficulty, and student reviews without leaving the app.

Auth and Multi-user

Supabase Auth with email/password login. Each user's progress is fully isolated, with an onboarding flow on first sign-in.

Open for internships • CS @ Boston University • Java • Python • C++ • Arduino • Streamlit • Email: davidebonn.tn@gmail.com •