Schmetterpause¶
Matchmaking-, Liga- und Turnier-App für Büro-Tischtennis. Ergebnisse erfassen, vom Gegner bestätigen lassen, TTR berechnen, Rangliste anzeigen — und irgendwann Ligen, Turniere und Buchungen an der Platte.
Diese Seiten sind die Dokumentation zum Projekt. Der Code liegt auf GitHub.

Die übrigen Seiten stehen unter Bildschirme.
Wo anfangen¶
Je nachdem, warum jemand hier gelandet ist:
- Wie sieht das aus? Bildschirme zeigt jede Seite der App an einem Demo-Datenbestand — Startseite, Turnier, Rangliste, Profil, Kiosk, Aushang, und dasselbe auf dem Handy.
- Ein Abend an der Platte steht an. Turnier vor Ort ist die Anleitung dafür: ein Laptop für alle, ein QR-Code an der Wand, alle tragen vom eigenen Handy ein. Lesbar auch im Stehen, während die ersten schon aufschlagen.
- Was ist eigentlich geplant? Der MVP-Plan hält Scope, Datenmodell und Arbeitspakete fest, samt der Definition of Done, an der der Meilenstein gemessen wird.
- Warum ist das so gebaut? Die Entscheidungen — ein ADR je Festlegung, jeweils mit den Alternativen, die dabei verworfen wurden.
- Was muss der Cluster mitbringen? Plattform-Voraussetzungen sagt, was vorher da sein muss — Kubernetes-Version, Gateway API, StorageClass, Postgres — und was über das reine Laufen hinausgeht: Backups, External Secrets, Velero. Ebenfalls englisch.
- Das Ding soll irgendwo laufen. Deployment beschreibt den Weg auf einen Cluster ohne GitOps dazwischen. Englisch, wie die übrige Betriebsdokumentation: sie liest, wer den Cluster bedient.
- Sieht das auf einem Handy richtig aus? Jeder Pull Request kann eine eigene laufende Instanz bekommen — Preview-Umgebungen sagt, wie (ein Label) und was dahintersteckt.
- Ist das, was läuft, auch das, was gebaut wurde? Signaturen, SBOM und Prüfung sagt, was signiert wird, wie man es von Hand nachprüft und was am Cluster ein unsigniertes Image ablehnt — und wo diese Prüfung nicht hinreicht. Englisch, wie die übrige Betriebsdokumentation.
Ein paar Begriffe¶
TTR ist das Tischtennis-Rating nach dem deutschen Verbandssystem. Es funktioniert wie eine Elo-Zahl, rechnet aber mit dem Divisor 150 statt 400 — ein Unterschied von 150 Punkten entspricht also einer Siegwahrscheinlichkeit von 90 %, nicht erst einer von 300 Punkten. Gewertet werden nur Einzel.
Veranstaltungsweise Wertung heißt: bei Turnieren und Ligarunden werden die Erwartungswerte über alle Einzel eines Spielers summiert und einmal verrechnet, nicht nach jedem Match einzeln. Damit hängt das Ergebnis nicht davon ab, in welcher Reihenfolge jemand die Zettel eintippt.
Slot ist ein buchbares Zeitfenster an einer Platte. Turnierspiele belegen Slots über denselben Mechanismus wie eine normale Buchung — das Turniermodell sitzt darüber, nicht daneben.
Zum Namen¶
Schmetterball plus Pause. Entstanden aus einer Abstimmung im Büro und gesetzt: der Name steckt im Modulpfad, im Image-Namen und im Browser-Titel.