- Marked `Editier-Formulare_Dialog-vs-Fullscreen_v1.md` as APPROVED with finalized mapping for all edit screens. - Created `Empty-States_Spezifikation_v1.md` to outline design, behavior, and implementation plan for empty states across 10 screens. - Logged session outcomes in `2026-04-03_UIUX_B1_B4_Editier-Formulare_Empty-States_Curator_Log.md`. - Updated `UIUX_Roadmap.md` to reflect Sprint B completion and tasks for Sprint C-1. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com> |
||
|---|---|---|
| .. | ||
| ErgebnisMaske | ||
| FIGMA | ||
| Guidelines | ||
| Logs | ||
| Nennmaske | ||
| Reports | ||
| Screenshots | ||
| StartErgListen | ||
| Wireframes | ||
| ARCHITECTURE_RULES.md | ||
| feature-implementation-guide.md | ||
| flow-fehler.png | ||
| flow-wechsel.png | ||
| MVVM_UDF_Pattern.md | ||
| Navigation_Routing_Diagramm.md | ||
| Navigation_V2_Screen-Baum_und_Back-Stack.md | ||
| Navigation_V3_Screen-Baum_und_Back-Stack.md | ||
| offline-first-architecture.md | ||
| README.md | ||
| screen-flow_1-04-26.md | ||
| state-management-strategy.md | ||
| Teststrategie_Desktop.md | ||
| uebersicht-v01.png | ||
| uebersicht-v02.png | ||
| Veranstalter-Card-v01.png | ||
| Veranstalter-Profil-Card-v01.png | ||
| verlauf-neueVeranstaltungTurnier-anlegen.png | ||
| verwaltung_01-04-26.png | ||
| web-setup.md | ||
| 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
- State-Management Strategie (UDF): Beschreibt die empfohlene Strategie für komplexe Screens.
- ADR-0010: SQLDelight für Cross-Platform-Persistenz: Beschreibt die Entscheidung für SQLDelight.
- ADR-0011: Koin für Dependency Injection: Beschreibt die Entscheidung für Koin.
- Offline-First-Architektur: Detaillierte Beschreibung der Offline-First-Strategie.
- Web-Setup (Webpack & Worker): Details zur Konfiguration des Web-Targets.