Diese Dokumentation beschreibt, wie das System bedient wird. Sie geht
gezielt nicht auf die Bierpong-Regeln selbst ein — die stehen in
der App unter Spielregeln (/regeln). Hier geht es um die App:
wie ein Schiri ein Match steuert, wie ein Admin ein Turnier aufbaut,
wie der Sieger ermittelt wird, was die Statistiken bedeuten.
Pro Sidebar-/Profil-Eintrag gibt es ein Dokument:
| Dokument | Sidebar-Eintrag | Zielrolle |
|---|---|---|
| Dashboard.md | Dashboard | Schiri & Admin |
| Matches.md | Matches | Schiri & Admin |
| Setup.md | Setup | Admin |
| Statistik.md | Statistik | Admin |
| Sonderregeln.md | Sonderregeln & Einstellungen | Admin |
| Setup.md | Archiv | Admin |
| Einstellungen.md | (Profil-Dropdown) | Schiri & Admin |
| Öfentliche-Ansicht.md | (Public-Link auf dem Dashboard) | Publikum |
- Initial einloggen. Beim ersten Migrieren entsteht der Account
adminmit Passwortpassword— siehe Einstellungen – Initialer Admin. Erste Aktion: Passwort über die Einstellungsseite ändern. - Schiris anlegen. In den Einstellungen Schiri-Accounts erzeugen und Zugangsdaten weitergeben.
- Setup aufrufen. Tische und Teams eintragen, Match-Dauer konfigurieren, Gruppen generieren anklicken.
- Public-Link teilen. Im Dashboard auf den Public-Link-Button klicken; die URL (als QR-Code) auf dem Beamer aufrufen
- Spielen lassen. Schiris öffnen
/matches, klicken sich in das nächste Match und steuern die Phasenpre_entry→active→scoring→finisheddurch. - KO-Phase starten. Sobald alle Gruppenspiele beendet sind, erscheint im Setup der Button KO-Phase starten — der baut das Bracket.
- Finale beenden — Turnier-Status springt automatisch auf
finished, der Champion taucht im Dashboard, in der Statistik und auf der öffentlichen Seite auf.
Manche Themen sind so eng zwischen Seiten verzahnt, dass sie in den Einzeldokumenten verlinkt sind:
- Wertungslogik bei Becher-Gleichstand — Matches – Wertungslogik.
- Tiebreaker innerhalb einer Gruppe — Setup – Tiebreaker in der Gruppenphase.
- Vorgehen bei Unentschieden in der KO-Phase — Setup – Unentschieden in der KO-Phase bzw. Matches – Unentschieden in der KO-Phase.
- Lebenszyklus eines Turniers — Setup – Lebenszyklus eines Turniers.
- Lebenszyklus eines Matches — Matches – Match-Steuerung.
Falls jemand die Doku liest und auch in den Code schauen will:
- Laravel 13, Livewire 4 SFCs (Single-File Components in
resources/views/pages/), Flux UI 2, Tailwind 4. - Fortify für Authentifizierung.
- Geschäftslogik liegt in
app/Services/:GroupGeneratorService– Auslosung der Gruppenphase.KoBracketService– KO-Bracket-Aufbau, Vorwärtsschaltung, Gruppen-Sortierung mit Tiebreakern.MatchResultService– Lebenszyklus eines Matches.StatisticsService– Aggregation für die Statistik-Seite.
- Datenbankschema in
database/migrations/.