meldestelle/docs/06_Frontend/README.md

3.0 KiB

type status owner last_update
Reference ACTIVE Frontend Expert 2026-04-03

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