docs(reports): add comprehensive status and recommendation reports for key roles

- Created and saved detailed reports for Frontend, Backend, UI/UX, Architecture, DevOps, QA, Rulebook, and Curation in `docs/90_Reports/`.
- Included prioritized action items, challenges, and next steps across disciplines.
- Addressed documentation gaps and organized steps for improving workflow consistency and validation across the stack.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-04-02 11:14:24 +02:00
parent b22a1331f7
commit cdadcf4611
9 changed files with 331 additions and 0 deletions
@@ -0,0 +1,41 @@
# 🏗️ [Lead Architect] Report - 2. April 2026
## 1. Aktueller Status
Das Projekt hat durch die "Event-First"-Philosophie (Initialisierung einer spezifischen Datenbank pro Veranstaltung) und
die fokussierte Compose-Desktop-Entwicklung (V2-Screens) eine deutliche Richtung eingenommen. Die
Architekturentscheidung (ADR-0020) bezüglich LAN-Isolation und Mandantenfähigkeit (Tenant-per-Event) beginnt sich im
Code (lokaler State, Event-bezogene Stores) niederzuschlagen, muss aber zwingend im Backend nachgezogen werden.
## 2. Empfehlungen & Prioritäten
**🔴 P1: Mandantenfähigkeit (Tenant Isolation) im Backend verankern**
* *Warum:* Das Frontend plant für jedes Event eine "eigene Datenbank". Das Backend läuft derzeit noch als klassischer
Monolith ohne harte Isolation der Veranstaltungsdaten (Nennungen, Prüfungen, Starterlisten). Wenn wir dies jetzt nicht
architektonisch sauber im Backend (z.B. über Schema-per-Tenant oder Tenant-IDs in allen Tabellen) lösen, bauen wir
enorme technische Schulden auf.
* *Aktion:* Definition der Tenant-Resolution-Strategie für Ktor/Spring Boot (wie erkennt das Backend, auf welche
Event-Datenbank eine Anfrage zielt?). Umsetzung im Datenzugriff-Layer.
**🔴 P1: State-Management-Architektur für Compose (MVI/MVVM)**
* *Warum:* Der aktuelle Frontend-Code mischt UI-Deklaration und Business-Logik (`StoreV2` Aufrufe direkt in den
`onSaved`-Callbacks, viel lokaler `remember`-State). Bei steigender Komplexität (z.B. Nennungssystem) wird dies
unwartbar.
* *Aktion:* Verbindliche Festlegung auf ein Architekturmuster für das KMP/Compose Frontend (z.B. striktes MVVM mit UDF -
Unidirectional Data Flow). Auslagern des Status in `ViewModels` und Definition klarer `Intent`/`State` Klassen für die
V2-Screens.
**🟠 P2: Synchronisations-Protokoll (Offline-First/LAN)**
* *Warum:* Die Meldestelle muss offline auf Turnieren funktionieren.
* *Aktion:* Start der Konzeptionsphase für das Daten-Synchronisations-Protokoll zwischen der Master-Datenbank (Backend)
und den lokalen Client-Datenbanken (Desktop). Entscheidung zwischen Event-Sourcing, CRDTs oder simplen
Timestamp-basierten Sync-Ansätzen.
**🟡 P3: Master-Roadmap Update**
* *Warum:* Die jüngsten Entwicklungen haben die Prioritäten verschoben.
* *Aktion:* Aktualisierung der `MASTER_ROADMAP.md` in `docs/01_Architecture/`, um den Fokus auf die Desktop-App, die
Tenant-Isolation und die anstehenden Offline-Sync-Meilensteine widerzuspiegeln.