NU Map · Dev Portal

Authorized access only.

Incorrect password.

NU Map

Developer Portal

Data updates are manual

There is no automated scraper. Run Catalog Check or NUPath Update locally, then use Review & Push to commit directly to main. NUPath can also be triggered from GitHub Actions (workflow_dispatch).

⚙ GitHub Actions →

Data Status

Courses in database
Last updated

Patch Creator

Generate a YAML patch file to add, update, or remove courses. Copy the output into data/patches/YYYY-MM-DD_description.yaml, then push to main via the Work tab.

➕ Add course
✏️ Update course
🗑 Remove course

Course to add


      
    

Preview

375 × 812 100%

Course Data Sources

Source What it provides How it's updated
catalog.northeastern.edu Titles, descriptions, credits, prereqs, scheduleType Work tab → Catalog Check
tableau.northeastern.edu NUPath attribute designations (authoritative) Work tab → NUPath Update, or GH Actions workflow_dispatch
ninest/nu-courses (SearchNEU) Term availability, live sections npm run data:fetch:write
sandboxnu/graduatenu Major/minor requirement JSON trees Manual sync to public/majors/

Update Workflow

1
Check for catalog field changes (titles, credits, prereqs):
Work tab → Catalog Check → Launch → review Inspector → Apply Fixes
2
Check for NUPath changes (each semester):
Work tab → NUPath Update → Scan → review → Apply Selected Fixes
3
Apply any manual patches for known errors:
Patches tab → generate YAML → save to data/patches/npm run data:patch:write
4
Build and verify:
npm run build → Preview tab across devices
5
Push to main:
Work tab → Review & Push (shows git diff) → Confirm → GitHub Actions deploys in ~2 min

Patch Files

Manual corrections live in data/patches/. Use the Patch Creator tab to generate YAML, then place it in that folder and open a PR. Naming convention: YYYY-MM-DD_short-description.yaml

Scrape History

Each rotating scrape run is logged here. Runs open a PR — merge only after reviewing the diff.

Loading…

Rotation Status

Loading…

Quick Actions

Run these commands in the repo root. Build afterwards to apply changes.

Annual course refresh
npm run data:fetch:write && npm run data:patch:write && npm run build
Scrape from catalog.northeastern.edu
npm run data:scrape:write && npm run build
Validate all patches
npm run data:validate

Push to GitHub

Commits change-log.json, all-courses.json, and data-meta files, then pushes to main.

Catalog Check

Full catalog comparison — runs locally against public/all-courses.json

Start dev server + catalog check server
npm run dev
Port:
🎓

NUpath Update

Fetch from tableau.northeastern.edu (official source) · falls back to catalog

Port: