CEREBRAL STRATUM - Frontend Help

ADR-0001: Web Stack Decision

Status

Superseded by ADR-0003

Context

The CEREBRAL STRATUM Frontend required a modern, maintainable web stack that supports:

  • Server-side rendering (SSR) and static site generation (SSG)

  • Strong TypeScript support

  • A rich ecosystem for UI components and mapping libraries

  • Active community and long-term support

Decision

Next.js 15 with React 18 and TypeScript was selected as the primary web stack.

Key choices:

  • Next.js: SSR/SSG, file-based routing, API routes

  • React 18: Concurrent features, hooks-based development

  • TypeScript: Type safety across the codebase

  • Keycloak JS: Authentication via OpenID Connect

  • Google Maps (@vis.gl/react-google-maps): Map rendering

Consequences

Positive

  • Fast time-to-market with well-known tooling

  • Large ecosystem of components (PatternFly)

  • SSR improves initial page load performance

Negative

  • Next.js is web-only; business logic cannot be shared with native Android/iOS clients

  • Led to ADR-0002 and ultimately ADR-0003 (migration to KMP)

Supersession Note

This decision has been superseded by ADR-0003. The web UI layer has been migrated from Next.js to React + Vite (webApp/), with shared business logic moved to the Kotlin Multiplatform shared/ module. Google Maps has been replaced by Mapbox GL JS (see ADR-0005).

Last modified: 17 May 2026