chore: remove obsolete screens from meldestelle-desktop module
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 2m56s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Failing after 3m3s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 2m49s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 2m13s

- Deleted unused screens including `AdminUebersichtScreen`, `AktorScreens`, `StammdatenImportScreen`, `TurnierDetailScreen`, and supporting components such as `PlaceholderContent`.
- Cleaned up references and placeholders to streamline module structure.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-03-26 15:08:38 +01:00
parent 1d393fdefe
commit c2b3b5889f
50 changed files with 5067 additions and 1016 deletions
@@ -0,0 +1,77 @@
# Session Log: Frontend-Architektur-Refactor
**Datum:** 26.03.2026
**Agent:** 🏗️ Lead Architect
**Dauer:** ~1 Session
**Trigger:** Inkonsistente Schichttrennung — fachliche Screens lagen im Shell statt in Features
---
## Problem
Die Desktop-App hatte alle Screen-Composables direkt im Shell-Modul (`meldestelle-desktop/screens/`).
Das verletzt das Shell-Feature-Core-Pattern:
- Shell enthielt Fachlogik (Veranstalter, Veranstaltung, Turnier, ZNS)
- `zns-import-feature` war gespalten: ViewModel im Feature, Screen im Shell
- `SharedUiModels` (Enums, Badges) lagen im Shell statt in `core/design-system`
---
## Durchgeführte Änderungen
### Neue Feature-Module
| Modul | Inhalt |
|-------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
| `frontend/features/veranstalter-feature` | VeranstalterAuswahlScreen, VeranstalterDetailScreen, VeranstalterNeuScreen |
| `frontend/features/veranstaltung-feature` | AdminUebersichtScreen, VeranstaltungenScreen, VeranstaltungDetailScreen, VeranstaltungNeuScreen, VeranstaltungUebersichtScreen |
| `frontend/features/turnier-feature` | TurnierDetailScreen, TurnierNeuScreen, alle 8 Turnier-Tabs, AktorScreens |
### Verschobene Dateien
| Von | Nach |
|----------------------------------------------------|----------------------------------------------------|
| `shells/.../screens/zns/StammdatenImportScreen.kt` | `features/zns-import-feature/.../presentation/` |
| `shells/.../screens/shared/SharedUiModels.kt` | `core/design-system/.../models/` |
| `shells/.../screens/shared/PlaceholderContent.kt` | `core/design-system/.../models/` |
| `shells/.../screens/veranstalter/*.kt` | `features/veranstalter-feature/.../presentation/` |
| `shells/.../screens/veranstaltung/*.kt` | `features/veranstaltung-feature/.../presentation/` |
| `shells/.../screens/turnier/*.kt` | `features/turnier-feature/.../presentation/` |
| `shells/.../screens/aktor/AktorScreens.kt` | `features/turnier-feature/.../presentation/` |
### Konfiguration
- `settings.gradle.kts`: 3 neue Feature-Module eingetragen
- `shells/meldestelle-desktop/build.gradle.kts`: 3 neue Feature-Abhängigkeiten
- `shells/.../DesktopMainLayout.kt`: Imports auf neue Feature-Packages umgestellt
- `shells/.../ScreenPreviews.kt`: Imports auf neue Feature-Packages umgestellt
### Shell nach Refactor
Der Shell enthält jetzt nur noch:
- `main.kt` — Koin-Init, Window
- `DesktopApp.kt` — Root-Composable, Login-Gate
- `di/DesktopModule.kt` — Shell-DI
- `navigation/DesktopNavigationPort.kt` — Navigation-Port
- `screens/layout/DesktopMainLayout.kt` — Layout + Navigation
- `screens/preview/ScreenPreviews.kt` — IDE-Previews
### Neue Dokumentation
- `docs/06_Frontend/ARCHITECTURE_RULES.md` — verbindliche Architektur-Richtlinien mit Checkliste und Anti-Patterns
---
## Offene Punkte
- Gradle-Sync erforderlich, damit Typesafe-Accessors für neue Module generiert werden
- `ArchitectureTest` (falls vorhanden) sollte die neuen Schichtgrenzen prüfen
---
## Lessons Learned
Architektur-Regeln müssen **schriftlich und verbindlich** festgehalten werden, bevor Code geschrieben wird.
Die `ARCHITECTURE_RULES.md` ist ab sofort Pflichtlektüre für jeden Agenten vor dem ersten Commit.