meldestelle/docs/06_Frontend
2026-03-15 20:00:51 +01:00
..
Logs infra: clean up Keycloak configuration, enforce consistency in .env, and improve health checks 2026-03-06 11:23:24 +01:00
feature-implementation-guide.md refactor(ping-feature): integrate DI refactor, enhance web build, and update feature workflow 2026-01-17 12:05:34 +01:00
offline-first-architecture.md chore: archive outdated architecture and roadmap documents, normalize documentation structure and metadata 2026-03-15 20:00:51 +01:00
README.md docs: add state-management strategy reference and SQLDelight session log 2026-01-28 13:00:55 +01:00
state-management-strategy.md docs: add state-management strategy reference and SQLDelight session log 2026-01-28 13:00:55 +01:00
web-setup.md chore: archive outdated architecture and roadmap documents, normalize documentation structure and metadata 2026-03-15 20:00:51 +01:00

type status owner last_update
Reference ACTIVE Frontend Expert 2026-01-15

Frontend-Architektur "Meldestelle Portal"

Dieses Verzeichnis dokumentiert die Architektur und die technischen Details des KMP-Frontends "Meldestelle Portal".

Übersicht

Das Frontend ist eine Kotlin Multiplatform (KMP)-Anwendung, die für die folgenden Ziele entwickelt wird:

  • Desktop (JVM): Eine eigenständige Desktop-Anwendung.
  • Web (JS/Wasm): Eine moderne Web-Anwendung, die im Browser läuft.

Die Architektur ist auf Offline-Fähigkeit und eine reaktive UI ausgelegt.

Modul-Struktur

Das frontend-Verzeichnis ist wie folgt strukturiert, um eine klare Trennung der Verantwortlichkeiten zu gewährleisten:

  • shells/: Die ausführbaren Anwendungen (Assembler-Module), die die App für eine bestimmte Plattform (Desktop, Web) zusammenbauen.
  • features/: Vertikale Slices der Anwendung. Jedes Feature-Modul kapselt eine bestimmte Funktionalität (z.B. auth-feature, ping-feature). Wichtig: Ein Feature-Modul darf niemals von einem anderen Feature-Modul abhängen.
  • core/: Gemeinsame Basis-Module, die von allen Features genutzt werden. Dazu gehören:
    • design-system/: Compose-Komponenten, Themes, Farben.
    • domain/: Fachliche Kernlogik und Datenmodelle des Frontends.
    • local-db/: SQLDelight-Datenbank-Setup und Queries.
    • navigation/: Navigations-Logik und Routen-Definitionen.
    • network/: Ktor-Client und API-Definitionen.

Kerntechnologien

  • UI: Compose Multiplatform für eine deklarative, plattformübergreifende UI.
  • Persistenz (Offline-First): SQLDelight für die lokale Speicherung von Daten.
  • State Management: Kotlin Coroutines und Flow in Kombination mit ViewModels.
  • Dependency Injection: Koin für die lose Kopplung von Komponenten.
  • Netzwerk: Ktor Client für die Kommunikation mit dem Backend.

Wichtige Dokumente