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
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:
@@ -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.
|
||||
Reference in New Issue
Block a user