- Deleted obsolete modules related to horses, clubs, officials, and persons services, including their configurations, build files, and database provisioning scripts. - Cleaned up associated references in the project structure (e.g., `settings.gradle.kts`). - Removed unused database tables and Spring beans related to these domains. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
96 lines
4.6 KiB
Markdown
96 lines
4.6 KiB
Markdown
# Roadmap: System-Konsolidierung & Strategie
|
|
|
|
🏗️ **[Lead Architect]** & 🧹 **[Curator]** | 28. März 2026
|
|
|
|
## 1. Zusammenfassung
|
|
|
|
Dieser Fahrplan beschreibt die Schritte zur Konsolidierung der technischen Basis und die Strategie zur Ausrichtung der
|
|
Feature-Implementierung an der verfeinerten DDD-Struktur (ADR-0014) sowie der Design-Baseline Vision_03.
|
|
|
|
---
|
|
|
|
## 2. Abgeschlossene Meilensteine (Letzte Sessions)
|
|
|
|
### 🟢 Technische Stabilisierung
|
|
|
|
* **Kotlin 2.3.20:** Alle Module wurden auf Kotlin 2.3.20 migriert. Deprecation-Warnungen für `Clock` und `Instant`
|
|
wurden durch Standardisierung auf `kotlin.time.*` behoben.
|
|
* **Zentralisierte Serialisierung:** Erstellung der `Serializers.kt` im `core-domain` Modul für `Uuid`, `Instant`,
|
|
`LocalDate`, `LocalDateTime` und `LocalTime`.
|
|
* **Exposed Framework:** Fixierung der Exposed-Version auf `1.1.1` für alle Module, um eine stabile Persistenzschicht zu
|
|
gewährleisten.
|
|
* **Infrastruktur-Refactoring:** Umzug der `DatabaseFactory` nach `core-utils` (jvmMain) als wiederverwendbare
|
|
Komponente.
|
|
|
|
### 🔵 DDD-Konsolidierung: `master-data-context`
|
|
|
|
* **Context-Merge:** Die separaten Services (`clubs`, `persons`, `horses`, `officials`) wurden aufgelöst und im
|
|
zentralen `master-data-context` vereint.
|
|
* **ZNS-Importer Verifizierung:** Erfolgreicher Testlauf mit der offiziellen `ZNS.zip`. Ca. 70.000 Datensätze wurden
|
|
korrekt in die neue Struktur importiert.
|
|
* **Library of Truth:** Etablierung des `master-data-context` als schreibgeschützte (für Enduser) "Single Source of
|
|
Truth" für Verbandsdaten.
|
|
|
|
### 🟡 Identity Integration
|
|
|
|
* **ZNS-Identity Link:** Technische Grundlage im `identity`-Service geschaffen, um System-User (Keycloak) mit
|
|
offiziellen ZNS-Satznummern zu verknüpfen.
|
|
* **Profil-Erweiterungen:** Implementierung von `DomProfil` für angereicherte Daten (Logos, Bios), ohne die
|
|
ZNS-Integrität zu gefährden.
|
|
|
|
---
|
|
|
|
## 3. Detaillierter Fahrplan (Aktuelle & Nächste Schritte)
|
|
|
|
### Phase A: Fundament finalisieren (Status: In Arbeit)
|
|
|
|
* [ ] **Repository-Vervollständigung:** Finalisierung der Persistenzmethoden in `masterdata-infrastructure` unter
|
|
Nutzung der neuen Tabellen.
|
|
* [ ] **API-Refinement:** Abschluss der REST-Endpunkte für den konsolidierten Master-Data-Context (Länder,
|
|
Bundesländer, Altersklassen, Plätze).
|
|
* [ ] **Validierungs-Logik:** Implementierung der Matrizen für Startberechtigungen (Altersklassen/Lizenz-Prüfungen) im
|
|
Master-Data-Kern.
|
|
|
|
### Phase B: Identity & Profil-Erfahrung
|
|
|
|
* [ ] **ZNS Link UI:** Erstellung des Frontend-Screens in `meldestelle-desktop`, auf dem User ihre offizielle
|
|
Satznummer suchen und verknüpfen können.
|
|
* [ ] **Profil-Verwaltung:** Implementierung der UI-Features zur Pflege der erweiterten Profildaten (Logo-Upload,
|
|
Kontaktinfo).
|
|
|
|
### Phase C: Competition-Context Refinement (§ 39 ÖTO)
|
|
|
|
* **Atomarität:** Ausrichtung der Logik auf die **"Abteilung"** als kleinste operative Einheit.
|
|
* **Automatische Trennung:** Implementierung von Warnungen bei Überschreitung der Starter-Schwellenwerte (z.B. 80
|
|
Starter Fallback).
|
|
* **Listen-Generierung:** Umstellung der Tabs 7-8 im Frontend auf Abteilungs-basierte Selektion für Start- und
|
|
Ergebnislisten.
|
|
|
|
### Phase D: Vision_03 Evolution
|
|
|
|
* **Integration:** Ersetzen der alten administrativen Screens durch die neuen `v2`-Screens (`VeranstalterAuswahlV2`,
|
|
`TurnierWizardV2`).
|
|
* **Billing-Sync:** Portierung der Gebühren-Logik (Nenngebühren, Tierwohl-Euro, Sportförderung) vom Figma React-Prototyp
|
|
in das KMP `billing-feature`.
|
|
|
|
---
|
|
|
|
## 4. Bounded Context Map (Konsolidiert)
|
|
|
|
| Bounded Context | Verantwortung | Source of Truth |
|
|
|:----------------|:---------------------------------------------------|:------------------------|
|
|
| `master-data` | SSOT für Personen, Pferde, Vereine, Regelwerk | ZNS Import / Admin |
|
|
| `identity` | Auth, Profile, ZNS-Links | Keycloak / Link-Tabelle |
|
|
| `registration` | Nennungs-Management, Validierung gegen Master-Data | System-Nennungen |
|
|
| `competition` | Live-Scoring, Abteilungen, Start-/Ergebnislisten | Live-Eingabe |
|
|
| `billing` | Konten, Gebühren, Kassa | Finanz-Transaktionen |
|
|
| `event-mgmt` | Turnierstruktur, Konfiguration, Zeitplan | User-Konfiguration |
|
|
|
|
---
|
|
|
|
## 5. Sofort-Maßnahmen
|
|
|
|
1. **Backend:** Letzte Kompilierfehler in `masterdata-infrastructure` beheben.
|
|
2. **Backend:** ZNS-Linking Endpunkte über die Identity-API bereitstellen.
|
|
3. **Frontend:** `NennungsMaske` auf die neuen, konsolidierten Masterdata-Endpunkte umstellen.
|