Skip to content

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.

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 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

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

  • 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.
  • 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