Express + Sequelize backend for myAdvisor. Lives in the monorepo next to ../frontend.
Local development uses SQLite; production uses PostgreSQL. Default port 3002.
npm install
cp .env.example .env # set staffSecret / studentSecret
npm run db:migrate
npm run db:seed:admin # optional: 816020000 / adminpass
npm start # or: npm run start:devFrom monorepo root:
npm run install:all
npm run db:migrate
npm run dev:backend| Concern | Choice |
|---|---|
| Runtime | Node.js 20+ (engines: >=20 <23) |
| API | Express + helmet + rate-limit |
| ORM | Sequelize |
| DB (dev) | SQLite |
| DB (prod) | PostgreSQL (POSTGRES_URL) |
| Auth | bcrypt + JWT (token header) |
| Logging | pino / pino-http |
| Ingest | PDF transcripts, XLSX curriculum |
| Doc | Description |
|---|---|
| docs/API.md | Routes & SPA contracts |
| docs/architecture.md | Architecture datasheet |
| docs/models.md | Relational models |
| docs/cleanup-plan.md | Phases 0–7 |
| docs/ops.md | Deploy, health, backups |
| docs/openapi.yaml | OpenAPI stub |
| Root README | Monorepo overview |
| Path | Purpose |
|---|---|
GET /health/live |
Liveness |
GET /health/ready |
DB readiness |
GET /health |
Status page / JSON |
Part of the Computer Science Programme at the University of the West Indies.
Original: Seth Timothy, Matthew Christian, Nevash Gobin, Akeel Henry
Previous version: Alexis Pitypaul, Shalana Seuraj
2024 Project Course: Quinn Mohammed, Faith Shim, Jarrod Moore
DCIT CCU Program: Joshua Noel, Katoya Ottley, Paul Taylor
Backend updates: @firepenguindisopanda (Nicholas Smith)