Global Portfolio Overview dashboard — a Next.js frontend with an Apollo GraphQL backend backed by a SQLite OLAP database.
- Node.js 20+
- npm
- The
star_schema.dbSQLite file placed inbackend/
./dev.shThis installs dependencies in both services and starts them concurrently. Press Ctrl+C to stop both.
Backend (GraphQL API — port 4000):
cd backend
npm install
npm run devFrontend (Next.js — port 3000):
cd frontend
npm install
npm run devRun frontend tests, backend tests, and all backend linting and type checking with a single command from the project root:
npm run check:allThis runs the following in sequence, stopping on the first failure:
- Frontend unit tests (Vitest)
- Backend unit tests (Vitest)
- Backend type checking, linting, and formatting verification (tsc, ESLint, Prettier)
To also update CSV fixture files (after verifying the diffs are correct):
UPDATE_FIXTURES=1 npm run check:allUser-facing text lives in frontend/src/content/content.yaml, not in
JSX, and is read through a t() accessor. See
frontend/docs/content-editing.md for
how to read copy with t() / <Markdown> and how to add or change keys.
| Service | URL | Description |
|---|---|---|
| Frontend | http://localhost:3000 | Next.js dashboard UI |
| Backend | http://localhost:4000 | Apollo GraphQL API |