Files
meldestelle/docs/06_Frontend
stefan 09debdef86
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Refactor Veranstalter and Veranstaltung flows: add VeranstalterProfil UI, event creation callback, profile enhancements, and save-enable matrix logic. Extend ZNS import and branding workflows.
2026-04-01 02:51:02 +02:00
..

type, status, owner, last_update
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