Monorepo Structure
Root layout
The root workspace contains three packages declared in pnpm-workspace.yaml:
backend-jsfrontend-appdocs
Root scripts
From root package.json:
pnpm installinstalls backend and frontend dependencies via filters.pnpm backend:devruns backend on port3001.pnpm frontend:devruns frontend on port3000.pnpm docs:devruns docs on port3002.
Package responsibilities
backend-js
- Next.js app used as API server via Route Handlers.
- Domain modules under
src/app/api/{auth,users,packages,routes,stops,logs,tracking}. - Shared infrastructure under
src/app/libandsrc/app/config.
frontend-app
- Next.js App Router UI.
- Route groups:
(auth)for login,(main)for authenticated app pages,(not-found)for custom 404 route.
- API integration through
app/lib/api.
docs
- Nextra documentation app.
- Content pages under
docs/content. - i18n dictionaries under
docs/app/i18n.
Important configuration files
pnpm-workspace.yaml: workspace membership.backend-js/src/app/config/envConfig.ts: backend env and defaults.backend-js/src/app/config/dbConfig.ts: MySQL connection pool.frontend-app/app/config/envConfig.ts: frontend API/HERE keys and constants.frontend-app/next.config.ts: image host allowlist + allowed dev origins.docs/next.config.mjs: Nextra integration.