Skip to main content

ADR 002: Modular Platform Architecture

Context

v2 moved away from large route/service buckets toward domain modules in both frontend and backend.

Decision

Use module roots:

  • Backend: backend/core-api/app/modules
  • Frontend: apps/webapp/src/modules

Keep route files thin and expose cross-module behavior through public contracts.

Consequences

  • New work should start in a module.
  • Legacy adapters stay isolated.
  • Cross-module dependencies should be explicit and stable.
  • Documentation and code review should flag new direct route-level fetches or non-module backend logic.