diff --git a/CHANGELOG.md b/CHANGELOG.md index 04fd3bcf..06940c28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,16 +16,23 @@ Versionierung folgt [Semantic Versioning](https://semver.org/lang/de/). ### [Unreleased] ### Hinzugefügt -- **Phase 10 (Series-Context) Vorbereitung:** - - **Frontend:** Neuer `SeriesScreen.kt` für die Verwaltung von Cups und Meisterschaften (konfigurierbare Reglements). - - **Frontend:** Erweiterung des `AdminUebersichtScreen` (Cockpit) um KPI-Kacheln mit Direkt-Links zu Cups und Meisterschaften. - - **Frontend:** Integration der Series-Navigation in die Breadcrumbs und das globale Routing (`Meisterschaften`, `Cups`). +- **Phase 10 (Series-Context & Stammdaten) - 11.04.2026:** + - **Frontend:** Stammdaten-Infrastruktur im `turnier-feature` (Repositories, DTOs, Domänenmodelle) für Reiter, Pferde, Funktionäre und Vereine. + - **Frontend:** `NennungViewModel` zur Steuerung der Suche und Status-Verwaltung von Nennungen. + - **Frontend:** Funktionalisierung des `Nennungen`-Tabs (Suche, Echt-Datenanbindung) und Vorbereitung des `Organisation`-Tabs. + - **Frontend:** `DefaultMasterdataRepository` zur Suche in Reitern, Pferden und Funktionären via Backend-API. + - **Netzwerk:** Erweiterung der `ApiRoutes` um Endpunkte für Masterdata und Nennungen. + - **Phase 10 (Series-Context) Vorbereitung:** + - **Frontend:** Neuer `SeriesScreen.kt` für die Verwaltung von Cups und Meisterschaften (konfigurierbare Reglements). + - **Frontend:** Erweiterung des `AdminUebersichtScreen` (Cockpit) um KPI-Kacheln mit Direkt-Links zu Cups und Meisterschaften. + - **Frontend:** Integration der Series-Navigation in die Breadcrumbs und das globale Routing (`Meisterschaften`, `Cups`). - **Turnier-Feature Hardening:** - **Frontend:** `STARTLISTEN` und `ERGEBNISLISTEN` Tabs vollständig an das `BewerbViewModel` angebunden (Bewerbs-Auswahl mit echten Daten). - **Frontend:** Implementierung der Starter-Anzeige in der Startliste (LazyColumn). ### Geändert - **Turnier-Feature:** Sichtbarkeit von `BewerbViewModel.generateStartliste()` auf `public` geändert, um den Aufruf aus dem Tab zu ermöglichen. +- **Frontend (Desktop):** `ScreenPreviews.kt` aktualisiert zur Berücksichtigung der neuen ViewModel-Abhängigkeiten (`NennungViewModel`, `MasterdataRepository`). ### [Phase 9] - 11.04.2026 - **Frontend:** Interaktiver Drag & Drop Zeitplan mit automatischem 5-Minuten-Snapping und Konflikt-Visualisierung. diff --git a/docs/01_Architecture/MASTER_ROADMAP.md b/docs/01_Architecture/MASTER_ROADMAP.md index f3343eb5..bd977dca 100644 --- a/docs/01_Architecture/MASTER_ROADMAP.md +++ b/docs/01_Architecture/MASTER_ROADMAP.md @@ -241,10 +241,12 @@ und über definierte Schnittstellen kommunizieren. * [x] **Protokoll:** Implementierung eines Event-Logs für manuelle Eingriffe in Startlisten (Audit-Log). ✓ * [x] **Export:** Startlisten-Export für ZNS (XML-B-Satz). ✓ -### PHASE 10: Series-Context & Erweiterungen 🔵 IN ARBEIT +### PHASE 10: Series-Context & Stammdaten 🔵 IN ARBEIT -*Ziel: Cups, Serien und Meisterschaften mit konfigurierbaren Reglements.* +*Ziel: Stammdaten-Integration (Reiter, Pferde, Funktionäre) und Series-Context (Cups).* +* [x] **Frontend-Integration:** Stammdaten-Infrastruktur (Repositories, ViewModels) für Reiter, Pferde, Funktionäre und Vereine im `turnier-feature` implementiert. ✓ +* [x] **Nennungs-Management:** Funktionalisierung des Nennungs-Tabs mit Echt-Datenanbindung und Suche. ✓ * [ ] **`series-context`:** Pluggable Berechnungsmodell, konfigurierbare Paar-Bindung. * [ ] **Web-Portal:** Shared Module aus Desktop-App extrahieren → Web-Portal aufbauen. * [ ] **Mobile:** KMP-Sharing auf Android/iOS ausweiten. diff --git a/docs/04_Agents/Logs/2026-04-11_Stammdaten_Integration_Curator_Log.md b/docs/04_Agents/Logs/2026-04-11_Stammdaten_Integration_Curator_Log.md index 15137731..520f54da 100644 --- a/docs/04_Agents/Logs/2026-04-11_Stammdaten_Integration_Curator_Log.md +++ b/docs/04_Agents/Logs/2026-04-11_Stammdaten_Integration_Curator_Log.md @@ -1,43 +1,37 @@ -# Curator Log: Stammdaten-Integration & Nennungs-Feature +# Curator Log: Stammdaten-Integration & Nennungs-Management **Datum:** 11. April 2026 -**Agent:** 🧹 [Curator] -**Status:** ✅ STAMMDATEN-INFRASTRUKTUR IMPLEMENTIERT +**Status:** In Progress (Phase 10) +**Beteiligte Agenten:** 🏗️ [Lead Architect], 👷 [Backend Developer], 🎨 [Frontend Expert], 🧹 [Curator] -## Zusammenfassung -In dieser Session wurde die Grundlage für die Nutzung von Stammdaten (Reiter, Pferde, Funktionäre, Vereine) im Turnier-Kontext geschaffen. Der Fokus lag auf der Implementierung der Nennungs-Logik und der Anbindung an die Masterdata-Backend-Services. +## 🎯 Zielsetzung +Integration der Stammdaten (Reiter, Pferde, Funktionäre, Vereine) in das Turnier-Feature des Frontends und Funktionalisierung des Nennungs-Managements. -## Durchgeführte Arbeiten +## 🛠️ Technische Änderungen +### Frontend (turnier-feature) +- **Domain:** Einführung von `Nennung` und `Masterdata` Domänenmodellen. +- **Data:** Implementierung von `DefaultNennungRepository` und `DefaultMasterdataRepository` zur Kommunikation mit Backend-Services. +- **DTOs:** Anlage von REST-spezifischen Datenklassen für Nennungen und Stammdaten-Suchen. +- **ViewModel:** `NennungViewModel` zur Steuerung der Suche und Status-Verwaltung von Nennungen. +- **UI:** + - `TurnierNennungenTab.kt`: Vollständige Anbindung an das ViewModel, Suchfunktionalität für Nennungen integriert. + - `TurnierOrganisationTab.kt`: Vorbereitung für Funktionärs-Verwaltung. + - `TurnierStammdatenTab.kt`: Zentraler Einstiegspunkt für die Stammdaten-Suche. +- **Dependency Injection:** Registrierung der neuen Repositories und ViewModels im `TurnierFeatureModule.kt`. -### 1. Daten-Infrastruktur (turnier-feature) -- **Domänenmodelle:** Lokale Definition von `Reiter`, `Pferd`, `Funktionaer` und `Verein` im `turnier-feature`, um die Entkopplung während der Modul-Entwicklung zu gewährleisten. -- **DTOs:** Erstellung von `NennungDto` (Summary/Detail/Request) für die Kommunikation mit dem `entries-service`. -- **Repositories:** - - `NennungRepository`: Verwaltung von Turniernennungen (List, Create, Status-Update). - - `MasterdataRepository`: Zentrale Suche für Reiter, Pferde und Funktionäre sowie Vereins-Abruf. -- **DI:** Registrierung der neuen Services im `turnierFeatureModule` (Koin). +### Core & Infrastructure +- **Network:** `ApiRoutes` um Endpunkte für `Reiter`, `Pferde`, `Funktionäre` und `Nennungen` erweitert. +- **Previews:** Aktualisierung der `ScreenPreviews.kt` zur Berücksichtigung der neuen ViewModel-Abhängigkeiten. -### 2. ViewModel & Logik -- **NennungViewModel:** Zentrale Steuerung des Nennungs-Tabs. Implementiert reaktive Suche für Reiter/Pferde und das Einreichen von Nennungen. -- **API-Routing:** Erweiterung der `ApiRoutes` um Masterdata-Endpunkte (`/api/masterdata/...`). +## ✅ Verifizierung +- Erfolgreicher Build des Moduls `:frontend:shells:meldestelle-desktop` via Gradle. +- Manueller Code-Review der Datenfluss-Architektur (Repository -> ViewModel -> UI). +- Prüfung der Koin-Injektions-Kette. -### 3. UI-Integration (Desktop) -- **Nennungen-Tab:** - - Umstellung von statischen Mocks auf das `NennungViewModel`. - - Live-Suche für Reiter und Pferde integriert. - - Anzeige echter Nennungen mit Status-Badges und ID-Kürzeln. -- **Organisation-Tab:** Anbindung an das ViewModel vorbereitet (Funktionärs-Kontext). -- **Stammdaten-Tab:** Vorbereitung für die Vereins-Suche/Zuordnung. -- **Previews:** Aktualisierung der `ScreenPreviews.kt` mit Mocks für die neuen Repositories, um die UI-Entwickelbarkeit zu erhalten. - -## Technische Details -- **Build:** Erfolgreiche Kompilation des Moduls `:frontend:shells:meldestelle-desktop`. -- **Modul-Strategie:** Vermeidung von direkten Abhängigkeiten zu unfertigen UI-Features durch lokale Domänen-Repräsentationen im Feature-Context. - -## Nächste Schritte -- Implementierung der detaillierten Nennungs-Dialoge (Kombination Reiter + Pferd + Bewerb). -- Persistenz der Funktionärs-Zuordnung im Backend. -- Verknüpfung der Vereins-Stammdaten mit der Turnier-Organisation. +## 📝 Notizen & Next Steps +- Implementierung der Detail-Editoren für Reiter und Pferde (Phase 10.2). +- Anbindung des `Organisation`-Tabs an den `FunktionaerController` des Backends. +- Erweiterung der Nennungs-Logik um Prüfungen auf Startberechtigung (ÖTO-Check). --- -*Gez. Curator* +*Dokumentiert durch den Curator.*