# 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 `VeranstalterDetailViewModel` wurde erstellt, um die Logik und den Zustand der Detailansicht zu verwalten. - Die Abhängigkeit vom veralteten `FakeVeranstaltungStore` wurde durch die Integration in das ViewModel-UDF-Pattern (State/Intent) ersetzt. - Registrierung der neuen ViewModels (`VeranstalterViewModel`, `VeranstalterDetailViewModel`) im `VeranstalterModule` via Koin `factory`. ### 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 `Store` in der Shell wurde eliminiert. ### 4. Preview-Aktualisierung - Die `ScreenPreviews.kt` in 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.