1ef14a3692
trace-bullet-guideline.md
4.6 KiB
4.6 KiB
Guideline: Zyklus "Tracer Bullet"
- Zyklus-Start: 15. August 2025
- Status: In Arbeit
- Basis: Diese Guideline erweitert die Master-Guideline
1. Ziel des Zyklus
Das oberste und einzige Ziel dieses Entwicklungszyklus ist die Validierung der gesamten technischen Architektur End-to-End. Wir wollen beweisen, dass eine Anfrage vom Client den gesamten technischen Stack (Gateway, Service Discovery, Backend-Service) erfolgreich durchlaufen und eine Antwort zurückliefern kann.
Am Ende dieses Zyklus werden wir einen stabilen, qualitätsgesicherten und dokumentierten Unterbau haben, auf dem die Entwicklung der fachlichen Features aufsetzen kann.
2. Umfang (Was gehört zu diesem Zyklus?)
Die folgenden Module und Aufgaben sind Teil dieses Zyklus:
2.1. Backend-Infrastruktur (:core & :infrastructure):
- Vollständige Überarbeitung, Optimierung und Testabdeckung aller Infrastruktur-Module (
cache,event-store,auth,messaging,monitoring,gateway). - Implementierung einer robusten Logging- und Konfigurations-Infrastruktur.
2.2. Temporärer Test-Service (:temp:ping-service):
-
Erstellung eines minimalen Spring-Boot-Service, der nur einen
GET /ping-Endpunkt bereitstellt. -
Frontend-Infrastruktur (
:client):- Aufbau einer sauberen, leeren Grundstruktur für die Kotlin Multiplatform App nach dem MVVM-Muster.
- Implementierung einer minimalen UI mit einem "Ping"-Button und einem Anzeigefeld für die Antwort.
2.3. Frontend-Infrastruktur (:client)
- Aufgabe: Aufbau einer sauberen Grundstruktur für die Kotlin Multiplatform App nach dem MVVM-Muster und Implementierung der "Ping"-Funktionalität.
- Status: 🔳 In Arbeit.
- Spezifische Anforderungen & Test-Szenarien:
- UI-Komponenten: Die UI muss einen Button ("Ping Backend") und ein Textfeld zur Statusanzeige enthalten.
- Zustands-Management: Die UI muss vier Zustände klar und visuell unterscheidbar abbilden:
- Initialzustand: Neutrale Nachricht ("Klicke auf den Button …"), Button aktiv.
- Ladezustand: Lade-Nachricht ("Pinge Backend …"), Button deaktiviert.
- Erfolgszustand: Positive Antwort ("Antwort vom Backend: pong"), Button aktiv.
- Fehlerzustand: Klare Fehlermeldung ("Fehler: ..."), Button aktiv.
- Architektur: Der API-Aufruf muss nach dem MVVM-Muster im :client:common-ui-Modul gekapselt sein.
- Zustands-Management: Die UI muss vier Zustände klar und visuell unterscheidbar abbilden:
- UI-Komponenten: Die UI muss einen Button ("Ping Backend") und ein Textfeld zur Statusanzeige enthalten.
3. Spezifische Richtlinien für diesen Zyklus
- Fokus auf Technik, nicht Fachlichkeit: Jede Zeile Code, die in diesem Zyklus geschrieben wird, dient ausschließlich der Stabilisierung der technischen Infrastruktur. Es wird keine komplexe Geschäftslogik implementiert.
- Qualitätsstandards gelten uneingeschränkt: Auch für diesen technischen Zyklus gelten alle Regeln der
Master-Guideline. Insbesondere:
- Tests sind Pflicht: Jede neue oder geänderte Komponente muss durch Tests (insbesondere Testcontainers für Infrastruktur) abgesichert werden.
- Kein
println: Es wird ausschließlich der strukturierte Logger verwendet.
- Dokumentation ist Teil der Aufgabe: Jedes Modul, das wir überarbeiten, wird mit einer aktualisierten und präzisen
README.md-Datei abgeschlossen.
4. Definition of Done (Wann sind wir fertig?)
Dieser Zyklus ist abgeschlossen, wenn alle der folgenden Kriterien erfüllt sind:
- Alle
:coreund:infrastructure-Module wurden überarbeitet, sind fehlerfrei testbar und ihreREADME.md-Dateien sind auf dem neuesten Stand. - Der
:temp:ping-serviceist implementiert, getestet und lauffähig. - Die
:client:web-appist mit einer sauberen MVVM-Struktur aufgesetzt und startet fehlerfrei. - Der End-to-End "Tracer Bullet"-Test ist erfolgreich:
- Alle Docker-Container (
docker-compose up) starten. - Der
gateway-Service startet. - Der
ping-servicestartet und registriert sich erfolgreich bei Consul. - Die
web-appstartet. - Ein Klick auf den "Ping"-Button in der Web-App führt zu einer
GET-Anfrage an das Gateway, wird korrekt an denping-serviceweitergeleitet und die Antwort"pong"wird erfolgreich in der UI angezeigt.
- Alle Docker-Container (
- Der gesamte
clean builddes Projekts läuft ohne Fehler und ohne Warnungen. - Die
master-guideline.mdund dietrace-bullet-guideline.mdsind finalisiert.
5. Lessons Learned (nach Abschluss)
- Was hat gut funktioniert?
- Was würden wir beim nächsten Zyklus anders machen?
- Welche Standards müssen in die Master-Guideline übernommen werden?