Files
pedwfrontend/memory-bank/techContext.md
T

1.8 KiB

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