44 lines
1.8 KiB
Markdown
44 lines
1.8 KiB
Markdown
# Tech Context — PEDW FrontEnd
|
|
|
|
## Languages and framework
|
|
|
|
- JavaScript-first codebase (TypeScript tooling present).
|
|
- Next.js `^14.2.28` with Pages Router.
|
|
- React `^18.2.0`.
|
|
|
|
## Core libraries in active use
|
|
|
|
- Auth: `next-auth` + Prisma adapters.
|
|
- Data/state: `redux`, `react-redux`, `next-redux-wrapper`, `redux-persist`, `redux-thunk`, `redux-form`.
|
|
- Data access/integration: `axios`, `crypto-js`, `jsonpath-plus`.
|
|
- i18n: `next-translate`, locale config in `i18n.js`.
|
|
- Storage/infrastructure integrations: `@azure/storage-blob`, `@azure/storage-queue`, `@azure/identity`.
|
|
- Notifications/telemetry: `notifications-node-client` (GOV.UK Notify), `applicationinsights`.
|
|
- PDF/maps: `@react-pdf/renderer`, `react-pdf`, `leaflet`, `react-leaflet`, `google-map-react`.
|
|
|
|
## Runtime and configuration
|
|
|
|
- Standard app start script uses Next runtime (`npm start`).
|
|
- Additional custom server entries exist (`server.js`, `server/server.js`) but are currently treated as non-active for the refactor baseline unless deployment evidence indicates otherwise.
|
|
- Environment-driven config for auth, relay/API roots, hash key, notify key, and database URL.
|
|
|
|
## Tooling and quality gates
|
|
|
|
- Linting: `npm run lint` (`next lint`).
|
|
- Formatting conventions from `.prettierrc`: 4 spaces, no trailing commas.
|
|
- Prisma client generation script available: `npm run prisma:generate`.
|
|
|
|
## CI/CD and deployment artifacts
|
|
|
|
- `azure-pipelines.yml` exists (legacy-looking Node 10 build pipeline).
|
|
- `Jenkinsfile` exists (Node 20 + Docker build/push/deploy flow).
|
|
- `Dockerfile` exists (Node 20 Alpine runtime).
|
|
- Repository contains mixed deployment artifacts; active production path should be treated as environment-dependent unless confirmed.
|
|
|
|
## Local development workflow
|
|
|
|
- `npm install`
|
|
- `npm run dev`
|
|
- `npm run lint`
|
|
- `npm run build && npm start` for production-like verification
|