2.0 KiB
2.0 KiB
Journal-Eintrag: Architektur-Cleanup Veranstalter-Feature
Datum: 20. April 2026 Agent: 🏗️ [Lead Architect] & 👷 [Backend Developer]
Zielsetzung
Vollständige Umsetzung der Plug-and-Play Architektur (ADR-0024) für das veranstalter-feature sowie die Konsolidierung der Screens in der Desktop-Shell.
Durchgeführte Änderungen
1. ViewModel-Hoisting (Entkopplung von Koin)
- VeranstalterAuswahlScreen: Der Screen erhält sein ViewModel nun als Parameter. Die direkte Injektion via
koinInject()wurde entfernt. Dies erhöht die Testbarkeit und Unabhängigkeit der Komponente. - VeranstalterDetailScreen: Ebenfalls auf ViewModel-Hoisting umgestellt.
2. Einführung des VeranstalterDetailViewModel
- Ein neues
VeranstalterDetailViewModelwurde erstellt, um die Logik und den Zustand der Detailansicht zu verwalten. - Die Abhängigkeit vom veralteten
FakeVeranstaltungStorewurde durch die Integration in das ViewModel-UDF-Pattern (State/Intent) ersetzt. - Registrierung der neuen ViewModels (
VeranstalterViewModel,VeranstalterDetailViewModel) imVeranstalterModulevia Koinfactory.
3. Shell-Konsolidierung (Altlasten-Entfernung)
- Die manuell in der Desktop-Shell (
VeranstalterScreens.kt) gepflegten Screens wurden durch saubere Delegates ersetzt, welche die modernisierten Komponenten aus dem Feature-Modul einbinden. - Der direkte Zugriff auf den alten
Storein der Shell wurde eliminiert.
4. Preview-Aktualisierung
- Die
ScreenPreviews.ktin der Desktop-Shell wurden an die neuen Konstruktoren angepasst. - Mock-Repositories wurden implementiert, um funktionsfähige Previews ohne aktiven Koin-Container zu ermöglichen.
Verifizierung
- Erfolgreicher Gradle-Build:
:frontend:shells:meldestelle-desktop:compileKotlinJvm. - Manuelle Code-Prüfung auf Einhaltung der ADR-0024 Kriterien.
Status
🟢 Abgeschlossen. Das Veranstalter-Management ist nun vollständig architektonisch bereinigt und folgt dem Plug-and-Play Design.