Skip to content

Repository files navigation

Northstar Course Planner

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/

Personal by design

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.

Features

  • 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

Local development

Requires Node.js 22.13 or later.

npm install
npm run dev

Open http://localhost:3000.

Database and API

The relational schema is in db/schema.ts. Generate migrations after schema changes with:

npm run db:generate

API routes include:

  • GET /api/state
  • POST /api/profile
  • GET/POST /api/courses
  • PUT/DELETE /api/courses/:id
  • POST /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.

Deployment

Full application

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.

Netlify portfolio demo

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.

Project structure

  • app/ — product interface and REST endpoints
  • db/ — database schema and connection helper
  • drizzle/ — generated migrations
  • worker/ — deployment worker
  • public/ — static assets
  • scripts/ — deployment helpers
  • screenshots/ — product captures
  • tests/ — automated checks

Academic planning disclaimer

Northstar provides planning suggestions only. Students should confirm prerequisites, availability, degree requirements, and graduation eligibility with their institution and academic advisor.

Screenshots

image image image image image image image

About

A full-stack academic planning platform featuring multi-semester scheduling, prerequisite visualization, conflict detection, and interactive degree planning.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages