Northstar is a production-style academic planning application that helps each student build a private course catalog, map semesters, visualize prerequisites, catch planning problems, and track progress toward their own graduation requirements.
🌐 Live Demo: https://coursevisualizer.netlify.app/
Northstar does not ship with a fake student identity, assumed university, fixed major, or prefilled academic record. Every new user completes a guided setup and enters their own:
- name and email
- institution
- major or degree program
- optional minor
- expected graduation term
- total credit requirement and preferred term limit
- courses, meeting details, prerequisites, requirement categories, and completion status
Dashboard metrics, degree progress, prerequisite paths, schedule checks, and planning suggestions are calculated from that user’s entries. Course data is clearly labeled as user-entered planning data rather than official university information.
- Guided personal setup and empty states
- Student dashboard with live credit and graduation calculations
- Searchable private course catalog
- Drag-and-drop multi-semester planner
- Completed, planned, and unplanned course states
- Prerequisite relationship visualizer
- Missing-prerequisite and credit-limit warnings
- Degree progress organized by user-defined requirement categories
- Saved-plan comparison interface
- Responsive desktop and mobile layouts
- User-scoped REST APIs backed by Cloudflare D1
Requires Node.js 22.13 or later.
npm install
npm run devOpen http://localhost:3000.
The relational schema is in db/schema.ts. Generate migrations after schema changes with:
npm run db:generateAPI routes include:
GET /api/statePOST /api/profileGET/POST /api/coursesPUT/DELETE /api/courses/:idPOST /api/semesters
Every query is scoped to the authenticated user identifier on the server. The included local fallback identity is intended only for local development.
The included Sites configuration deploys the full Cloudflare-compatible worker and provisions the logical DB binding. This is the recommended option for durable, per-user records.
The project includes netlify.toml. Netlify uses:
- Build command:
npm run build:netlify - Publish directory:
dist/client - Node version:
22.13.0
The static Netlify version is suitable as an interactive portfolio demo. Durable multi-user records require the full worker deployment or adapting the API routes to a Netlify-supported database and function runtime.
app/— product interface and REST endpointsdb/— database schema and connection helperdrizzle/— generated migrationsworker/— deployment workerpublic/— static assetsscripts/— deployment helpersscreenshots/— product capturestests/— automated checks
Northstar provides planning suggestions only. Students should confirm prerequisites, availability, degree requirements, and graduation eligibility with their institution and academic advisor.