Skip to content

About

office table tennis: log matches, TTR ratings, leagues and tournaments

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

467 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Schmetterpause

Matchmaking-, Liga- und Turnier-App für Büro-Tischtennis.

Go + templ + HTMX, Postgres, ein Container. Läuft in Docker Compose, Kubernetes und Azure Container Apps aus demselben Image.

Was man sieht

Startseite Turnier Profil
Startseite Turnier Profil
  • Startseite — was gerade läuft und dich betrifft, was auf deine Bestätigung wartet, und das Formular für ein Ergebnis. In dieser Reihenfolge.
  • Turnier — Tabelle und Spielplan auf einer Seite, mit Tischseite und Eintragen-Knopf für die eigenen Paarungen.
  • Profil — TTR, wie sie zustande kam, und die Matches dahinter.

Jede Seite einzeln, samt Kiosk, Aushang und Handy-Ansicht: docs/bildschirme.md. Die Bilder stammen aus dem Demo-Datenbestand, den task seed anlegt.

Status

Im Aufbau. Aktueller Meilenstein ist der MVP nach docs/mvp-plan.md: Ergebnisse erfassen, vom Gegner bestätigen lassen, TTR berechnen, Rangliste anzeigen. Liga-, Turnier- und Buchungsmodus kommen später.

Loslegen

Voraussetzungen: Task, Docker und die Dagger-CLI. Beim ersten Aufruf einer Dagger-Task einmalig task dagger:develop ausführen — das erzeugt die generierten Teile des Pipeline-Moduls.

task up        # Compose-Umgebung starten (App + Postgres)
task seed      # Demo-Spieler und -Ergebnisse, damit die Seiten nicht leer sind
task run       # App lokal gegen die Compose-Datenbank, ohne Container
task ci        # lint, test, build, verify — identisch zur Pipeline
task office:setup # .env für einen Abend an der Platte
task office:up    # starten, im Netz erreichbar

Das Büro spielt seit dem 13.09.2026 auf der Instanz im Cluster — seit dem 28.09.2026 auf homerun2-dev2 (https://schmetterpause.homerun2-dev2.sthings-vsphere.labul.sva.de), davor auf homerun2-test1 —, mit nächtlichem Backup. office:setup und office:up sind der Weg für einen Abend mit eigenem Laptop — mit eigener Rangliste, siehe Turnier vor Ort und Spieldaten sichern und umziehen.

task up startet das veröffentlichte Image aus GHCR, nicht eines aus dem Arbeitsverzeichnis — dasselbe Artefakt, das im Cluster läuft. Für den eigenen Stand gibt es task run (schnell, ohne Container) und task up:local (baut das Image mit Dagger und startet Compose damit).

Alle Befehle laufen über Task. Die eigentliche Pipeline-Logik steckt in Dagger und läuft lokal wie in der CI gleich — task ci ist kein Näherungswert, sondern derselbe Code.

task --list zeigt alle verfügbaren Tasks.

Dokumentation

Alles aus docs/ steht als Website unter https://stuttgart-things.github.io/schmetterpause/ — mit Navigation und Suche, und damit die bessere Adresse für alles, was jemand im Stehen oder auf dem Handy liest. Diese Datei bleibt der Einstieg für alle, die das Repository ohnehin ausgecheckt haben.

  • docs/bildschirme.md — jede Seite der App in einem Bild, am Demo-Datenbestand.
  • CLAUDE.md — Invarianten, fachliche Begriffe, Konventionen. Vor Änderungen lesen.
  • docs/mvp-plan.md — Scope, Datenmodell, Arbeitspakete, Definition of Done.
  • docs/adr/ — Architekturentscheidungen samt verworfener Alternativen. Der Index unter docs/adr/index.md wird generiert: task docs:index.
  • docs/turnier-vor-ort.md — ein Abend an der Platte mit einem Laptop für alle.

Eine Änderung, die einem ADR widerspricht, braucht ein neues ADR mit supersedes-Verweis.

Zum Namen

Schmetterball plus Pause. Der Name entstand aus einer Abstimmung im Büro und gilt als gesetzt — er steckt im Modulpfad, im Image-Namen und im Browser-Titel.

About

office table tennis: log matches, TTR ratings, leagues and tournaments

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages