meldestelle/docs/01_Architecture/Fahrplan_Konsolidierung_2026-03-28.md
Stefan Mogeritsch c806660685 chore: remove deprecated horses, clubs, officials, and persons services
- 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>
2026-03-28 16:51:08 +01:00

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.