feat(management-feature): add centralized administration screens and back-navigation support
- Introduced comprehensive management screens for horses, riders, clubs, and officials. - Integrated reusable `ManagementTableScreen` component for standardized layouts and operations. - Added back-navigation support in `DesktopNavigationPort` with a stack-based implementation. - Refined `DesktopMainLayout` with enhanced routing and dynamic placeholders for in-development screens. - Updated roadmap to reflect completion of Phase 7: "Zentrale Verwaltung". Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
@@ -186,18 +186,30 @@ und über definierte Schnittstellen kommunizieren.
|
||||
|
||||
## 4. Geplante Phasen
|
||||
|
||||
### PHASE 7: Desktop-Vernetzung & Event-First Workflow 🔵 IN ARBEIT
|
||||
### PHASE 7: Desktop-Vernetzung & Zentrale Verwaltung ✅ ABGESCHLOSSEN
|
||||
|
||||
*Ziel: LAN-Kommunikation zwischen Apps und Fokus auf Veranstaltungs-Verwaltung.*
|
||||
*Ziel: LAN-Kommunikation Vorbereitung und Etablierung der "Veranstaltung-Verwaltung" als zentrale Schaltstelle.*
|
||||
|
||||
* [x] **Zentrale Verwaltung:** Etablierung der `Veranstaltung-Verwaltung` (Zentrale) als administratives Cockpit.
|
||||
* [x] **Navigation:** Implementierung eines Back-Stack-Systems für intelligente "Zurück"-Navigation.
|
||||
* [x] **Domänen-Synchronisation:** Anpassung der Frontend-Stores an die Backend-Masterdata-Modelle (Reiter, Pferde,
|
||||
Vereine, Funktionäre).
|
||||
* [x] **ZNS-Integration (Frontend):** ZNS-Importer in die Zentrale integriert; Konzept "Globaler Pool -> Lokale
|
||||
Synchronisation" gefestigt.
|
||||
* [x] **Terminologie:** UI-weit Umstellung von "Event" auf "Veranstaltung" (ÖTO-konform).
|
||||
* [x] **Konzept:** LAN-Discovery (mDNS) und Echtzeit-Sync (WebSockets) entworfen.
|
||||
* [x] **ADR:** ADR-0020 (Lokale Netzwerk-Kommunikation) erstellt.
|
||||
* [ ] **Discovery:** Implementierung des mDNS-Service für die Geräte-Suche.
|
||||
* [ ] **Transport:** Aufbau der WebSocket-Infrastruktur für P2P-Sync.
|
||||
* [ ] **Event-First:** Umstellung des App-Startpunkts auf die Veranstaltungs-Liste (Login-Skip).
|
||||
* [ ] **Wizard:** Implementierung des `VeranstaltungNeuWizard` zur Neuanlage.
|
||||
|
||||
### PHASE 8: Series-Context & Erweiterungen 🔵 PHASE 2+
|
||||
### PHASE 8: Bewerbe-Management & Startlisten 🔵 IN ARBEIT
|
||||
|
||||
*Ziel: Fachliche Tiefe in den Turnieren (Import, Generierung, Zeitberechnung).*
|
||||
|
||||
* [ ] **Bewerbe-Import:** Implementierung der Merge-Logik (ZNS-XML -> BewerbUiModel).
|
||||
* [ ] **Startlisten-Automatisierung:** Generierung und Zeitberechnung (Pausen, Umbauzeiten).
|
||||
* [ ] **Discovery:** Implementierung des mDNS-Service für die Geräte-Suche (Phase 7 Übertrag).
|
||||
* [ ] **Transport:** Aufbau der WebSocket-Infrastruktur für P2P-Sync (Phase 7 Übertrag).
|
||||
|
||||
### PHASE 9: Series-Context & Erweiterungen 🔵 PHASE 2+
|
||||
|
||||
*Ziel: Cups, Serien und Meisterschaften mit konfigurierbaren Reglements.*
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
### Diagramm (Screen-Flow) - Stand 01. April 2026 (Abend-Update)
|
||||
|
||||
Das Frontend nutzt nun einen **Back-Stack Mechanism**, d.h. der "Zurück"-Button (TopBar) führt immer zum jeweils
|
||||
vorherigen Screen im Verlauf.
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Onboarding] -- " Login / Start " --> H[Veranstaltung-Verwaltung]
|
||||
|
||||
subgraph "Verwaltung (Zentrale)"
|
||||
H
|
||||
H1[Pferde-Verwaltung]
|
||||
H2[Reiter-Verwaltung]
|
||||
H3[Verein-Verwaltung]
|
||||
H4[Funktionär-Verwaltung]
|
||||
H5[Veranstalter-Verwaltung]
|
||||
H6[ZNS-Importer]
|
||||
end
|
||||
|
||||
H -- " Pferde " --> H1
|
||||
H -- " Reiter " --> H2
|
||||
H -- " Vereine " --> H3
|
||||
H -- " Funktionäre " --> H4
|
||||
H -- " Veranstalter " --> H5
|
||||
H -- " ZNS-Importer " --> H6
|
||||
H6 -- " Back-Stack " --> H
|
||||
H1 -- " Pferde-Profil " --> P1[Pferde-Profil]
|
||||
H2 -- " Reiter-Profil " --> P2[Reiter-Profil]
|
||||
H3 -- " Verein-Profil " --> P3[Verein-Profil]
|
||||
H4 -- " Funktionär-Profil " --> P4[Funktionär-Profil]
|
||||
H5 -- " Pferde-Profil " --> P1
|
||||
P1 -- " Back-Stack " --> H
|
||||
P2 -- " Back-Stack " --> H
|
||||
P3 -- " Back-Stack " --> H
|
||||
P4 -- " Back-Stack " --> H
|
||||
H -- " Neue Veranstaltung " --> E[VeranstaltungKonfigV2]
|
||||
H -- " Veranstaltung öffnen " --> F[Veranstaltung-Profil]
|
||||
F -- " Turnier öffnen / Neu " --> G[TurnierDetailScreen]
|
||||
F -- " Veranstalter-Profil " --> H5
|
||||
|
||||
subgraph "TurnierDetailScreen (Tabs)"
|
||||
G1[STAMMDATEN]
|
||||
G2[ORGANISATION]
|
||||
G3[BEWERBE]
|
||||
G4[ARTIKEL]
|
||||
G5[ABRECHNUNG]
|
||||
G6[NENNUNGEN]
|
||||
G7[STARTLISTEN]
|
||||
G8[ERGEBNISLISTEN]
|
||||
end
|
||||
|
||||
G --> G1
|
||||
G --> G3
|
||||
G --> G7
|
||||
F -- " Back-Stack " --> H
|
||||
H5 -- " Back-Stack " --> F
|
||||
H -- " Logout / Zurück " --> A
|
||||
|
||||
subgraph "Legacy / Administrative Screens"
|
||||
L1[AdminUebersichtScreen]
|
||||
L2[PingScreen]
|
||||
L3[ProfileScreen]
|
||||
L4[VereinScreen]
|
||||
L5[VeranstaltungDetailScreen]
|
||||
end
|
||||
|
||||
H -- " Ping " --> L2
|
||||
H -- " Profil " --> L3
|
||||
H -- " Vereine " --> L4
|
||||
H -- " Legacy View " --> L1
|
||||
%% Fallback navigation
|
||||
L1 -- " Veranstalter Auswahl " --> H
|
||||
L1 -- " Legacy Event Detail " --> L5
|
||||
L5 -- " Turnier öffnen " --> G
|
||||
```
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 868 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.1 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 161 KiB |
@@ -0,0 +1,51 @@
|
||||
# 🧹 Curator – Session Log (2026-04-01 - Abschluss Vormittag)
|
||||
|
||||
## Zusammenfassung
|
||||
|
||||
Die heutige Vormittags-Sitzung markiert den Übergang von einer "Sammlung von Screens" zu einer integrierten **Zentralen
|
||||
Verwaltung**. Wir haben das "Chaos" im Frontend durch eine klare Hierarchie und einen intelligenten Navigations-Flow (
|
||||
Back-Stack) gezähmt.
|
||||
|
||||
## Kern-Erkenntnisse & Architektur-Updates
|
||||
|
||||
### 1. Die "Zentrale" als Cockpit
|
||||
|
||||
- Die `Veranstaltung-Verwaltung` ist nun der primäre Einstiegspunkt nach dem Onboarding.
|
||||
- Alle administrativen Domänen (Pferde, Reiter, Vereine, Funktionäre, Veranstalter) sind über diese Zentrale erreichbar.
|
||||
- Dies entspricht dem Wunsch des Users nach einer "Haupt-Verwaltungs-Zentrale" (`verwaltung_01-04-26.png`).
|
||||
|
||||
### 2. ZNS-Datenfluss: Globaler Pool -> Lokale Synchronisation
|
||||
|
||||
- **Konzept:** Stammdaten (ZNS) werden global in die Desktop-App geladen (ZNS-Importer).
|
||||
- **Vorteil:** Turniere müssen Daten nicht mehr isoliert halten, sondern synchronisieren sich selektiv mit dem globalen
|
||||
Pool über den "Aktualisieren"-Button.
|
||||
- Die Domänen-Modelle in `Stores.kt` wurden vollständig an die Backend-Modelle (`DomPferd`, `DomReiter`, etc.)
|
||||
angepasst.
|
||||
|
||||
### 3. Navigations-Logik (Back-Stack)
|
||||
|
||||
- Implementierung von `navigateBack()` im `DesktopNavigationPort`.
|
||||
- Der "Zurück"-Button merkt sich nun den Pfad (z.B. Veranstaltung-Profil -> Veranstalter-Profil -> Zurück ->
|
||||
Veranstaltung-Profil).
|
||||
|
||||
### 4. Terminologie-Bereinigung
|
||||
|
||||
- UI-weit wurde "Event" durch **"Veranstaltung"** ersetzt (ÖTO-konform).
|
||||
- Technische IDs behalten den Namen `eventId` zur Stabilität.
|
||||
|
||||
## Durchgeführte Code-Änderungen (Zusammenfassung)
|
||||
|
||||
- `AppScreen.kt`: Neue Routen für Verwaltungen und Profile.
|
||||
- `ManagementScreens.kt`: Generische Tabellen-Komponente mit Suche und CRUD-Aktionen.
|
||||
- `Stores.kt`: Erweiterte Datenklassen und realistische Testdaten.
|
||||
- `DesktopMainLayout.kt`: Integration des Back-Stacks und der neuen Routen.
|
||||
- `VeranstaltungScreens.kt`: Umbenennung in `VeranstaltungProfilScreen` und Header-Updates.
|
||||
|
||||
## Status der Dokumentation
|
||||
|
||||
- [x] **Screen-Flow:** `docs/06_Frontend/screen-flow_1-04-26.md` aktualisiert.
|
||||
- [x] **Journal:** Einzelergebnisse in separaten Logs dokumentiert.
|
||||
- [x] **Roadmap:** `MASTER_ROADMAP.md` auf Phase 8 (Bewerbe-Management) aktualisiert.
|
||||
|
||||
---
|
||||
*Dokumentiert durch den Curator am 01.04.2026 um 17:40 Uhr.*
|
||||
@@ -0,0 +1,41 @@
|
||||
# Session Log: 01. April 2026 - Vormittag (Zentrale & ZNS-Logik)
|
||||
|
||||
## 🏗️ [Lead Architect] | Status & Entscheidungen
|
||||
|
||||
### 1. Die "Zentrale" (Veranstaltung-Verwaltung)
|
||||
|
||||
Wir haben die **Veranstaltung-Verwaltung** als neue strategische Zentrale etabliert. Von hier aus sind alle
|
||||
administrativen Bereiche (Pferde, Reiter, Vereine, Funktionäre, Veranstalter) erreichbar. Dies löst das "Chaos" im
|
||||
Frontend durch eine klare Hierarchie.
|
||||
|
||||
### 2. ZNS-Datenfluss: Global -> Lokal
|
||||
|
||||
Ein entscheidendes Architektur-Konzept wurde heute Vormittag gefestigt:
|
||||
|
||||
* **Globaler Pool:** ZNS-Stammdaten (Pferde, Personen, Vereine) werden über den ZNS-Importer in die globale Datenbank
|
||||
der Desktop-App geladen.
|
||||
* **Lokale Synchronisation:** In den Turnier-Details (z.B. `TurnierBewerbeTab`) dient der Button **"Aktualisieren"**
|
||||
dazu, die Daten für dieses spezifische Turnier mit dem globalen Pool abzugleichen.
|
||||
* **Vorteil:** Daten müssen nicht pro Turnier neu importiert werden. Ein globaler Stand (z.B. nach einem ZNS-Update)
|
||||
kann selektiv in die aktiven Turniere "gepusht" werden.
|
||||
|
||||
### 3. Terminologie-Bereinigung
|
||||
|
||||
Alle UI-Texte wurden auf **"Veranstaltung"** umgestellt, um konform mit der ÖTO (§ 2 Abs. 1) zu sein. "Event" bleibt ein
|
||||
technischer Begriff im Code.
|
||||
|
||||
## 👷 [Backend/Frontend] | Durchgeführte Änderungen
|
||||
|
||||
* **App-Routing:** `AppScreen.kt` um neue Verwaltungs-Routen erweitert.
|
||||
* **Navigation:** `DesktopMainLayout.kt` implementiert nun den Flow von der Zentrale in die Fachbereiche.
|
||||
* **Importer-Integration:** Der ZNS-Importer ist nun direkt aus der Zentrale erreichbar.
|
||||
* **Bugfix:** Kompilierfehler in der Navigation (fehlender `onBack` Parameter) behoben.
|
||||
|
||||
## 🧐 [QA Specialist] | Offene Punkte für den Nachmittag
|
||||
|
||||
* [ ] **Bewerbe-Import:** Implementierung der konkreten Merge-Logik (ZNS-XML -> `BewerbUiModel`).
|
||||
* [ ] **Startlisten-Sortierung:** Validierung der ÖTO-konformen Auslosung.
|
||||
* [ ] **Profil-Screens:** Die Placeholder für Pferde-, Reiter- etc. Profile müssen mit Leben gefüllt werden.
|
||||
|
||||
---
|
||||
*Dokumentiert durch den Curator am 01.04.2026*
|
||||
Reference in New Issue
Block a user