meldestelle/docs/99_Journal/2026-04-20_Architektur-Cleanup-Veranstalter-Feature.md

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 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.