Skip to content

Level 2 – Containers

This diagram shows the deployable units that make up the system and how they communicate.

Containers

ContainerTechnologyDescription
Web ApplicationNuxt / VueFrontend — structured in four layers (APP + one per backend module)
BFFKotlin / Spring Boot WebFluxBackend For Frontend — the only container exposed to the frontend
Core ModuleKotlin / Spring Boot WebFluxDomain core — organisations, projects, users, participants
Operation ModuleKotlin / Spring Boot WebFluxOperations — movements, alerts, communications
Registration ModuleKotlin / Spring Boot WebFluxRegistrations — periods and requests
PostgreSQLPostgreSQLSingle database with three isolated schemas

Notes

  • The Web Application is a separate Nuxt deployment. BFF, Core, Operation, and Registration are co-deployed as a single Spring Boot application (modular monolith).
  • The BFF is the only container accessible from the frontend. Backend modules are internal.
  • Each module owns exactly one database schema. No module queries another module's schema directly.