Dashboard
—
AktivSpieler gesamt
5
Im Kader
5
Spiele
5
Tore gesamt
14
Top Torschützen
Noch keine Spiele erfasst.
Anwesenheit
Noch keine Trainings erfasst.
Spieler-Statistiken
| Spieler | ⚽ | 🥅 | 🎯 | 🧤 | ⚔️ | 🟨 | 🟥 | 🟦 | ✔ | % |
|---|
Implementierungsstand MatchFlow v1.8.0 → nächste: v1.8.1
MatchFlow ist eine Single-Page-Web-App (eine HTML-Datei, ~11.000 Zeilen) für Fußballvereine. Firebase Auth + Firestore für Login & Datenhaltung. Multi-Tenant-fähig. Media Server via PHP (Plesk). Alle Module sind Rollen-geschützt. Stand: 27.06.2026.
- ✅ v1.0 Login & Firebase Auth (E-Mail/Passwort, Tenant-Erkennung)
- ✅ v1.0 Multi-Tenant Architektur (ein Codestand, mehrere Vereine)
- ✅ v1.1 Saison-System (Firestore, Saisonwechsel pro Benutzer)
- ✅ v1.1 Rollen & Berechtigungssystem (dynamische Rollen, Permissions je Modul)
- ✅ v1.1 Benutzerverwaltung (Firestore, Anlegen, Bearbeiten, Deaktivieren)
- ✅ v1.2 CSV-Import für Benutzer
- ✅ v1.2 Spieler-Verwaltung (CRUD, Foto, Skills, Notizen, Soft-Delete)
- ✅ v1.3 Spieler-Karten (Vereinslogos, Skill-Badges, QR-Code, PPTX-Export)
- ✅ v1.4 Training/Spiel (Kalender, Taktikfeld SVG, Word-Export, Übungsplan)
- ✅ v1.5 Camp – Spieler, Karten, Teams, Farben (Firestore)
- ✅ v1.6.1 Game Tracking – Halbzeiten, Score, Spielstatus
- ✅ v1.6.2 Tor: Minute + Sekunde, Pass/Assist/Torschütze
- ✅ v1.6.3 Startaufstellung – SVG-Feld, Drag&Drop, Kapitän
- ✅ v1.6.4 Spielsystem (3v3 bis 10+1) + Auto-Layout
- ✅ v1.6.5–9 Blaue Karte, Halbzeit edit/delete, Spielende, Auto-Ende, Events edit
- ✅ v1.6.10–14 Anwesenheit → Aufstellung, Speichern-Dopplung, Statistik, Wechsel, Karten-Markierung
- ✅ v1.6.15–17 Camp-Farben: Firebase, live-edit, Gruppe umbenennen
- ✅ v1.6.18–20 KPI-System, Dashboard-Diagramme, Spieler-Statistik-Tabelle
- ✅ v1.6.21 Benutzer: teamIds + childPlayerIds im Bearbeiten-Modal
- ✅ v1.6.22–25 Übungsbibliothek: CRUD, Filter, Quick-Add aus Training, Taktik-Sync
- ✅ v1.6.26 Training: Ort, Belastung, Trainer, Sonstiges
- ⚠️ v1.6.27 PowerPoint-Export (Template-Upload + Variablen) – Vorlage noch finalisieren
- ✅ v1.7.1 Spieler-Modell Split:
players(Stammdaten) +player_seasons(Saison) in Firestore - ✅ v1.7.2 Media Server: Spielerfotos, Vereinslogos, Übungsbilder via PHP-API auf Plesk (kein Firebase Storage)
- ✅ v1.7.3 Firestore-Vollintegration: Trainings, Übungen, Camps automatisch gespeichert & geladen
- ✅ v1.7.4 PPTX-Export: QR-Codes, YouTube-Thumbnails, Bilder eingebettet, Links klickbar
- ✅ v1.7.5 Rollen: Menüpunkt ausblenden Toggle pro Modul
- ✅ v1.7.5 Spielerliste nach Mannschaft-Verwalter gefiltert (nicht-Admin sieht nur eigene Teams)
- ✅ v1.7.5 Benutzerliste ebenfalls nach Mannschaft gefiltert
- ✅ v1.7.5 Benutzertabelle: Spalte "Verwalter von" zeigt zugewiesene Mannschaften
- ✅ v1.7.5 Benutzer bearbeiten: Anzeigename + Passwort-Reset E-Mail
- ✅ v1.7.5 Training/Spiel: Kategorie-Toggle im Formular (Training / Spiel)
- ✅ v1.7.5 Camp: Neues Camp startet mit 0 Spielern, manueller "Aus Camp übernehmen" Button
- ✅ v1.7.5 Camp: Speichern-Button mit Fehleranzeige, Doppelklick-Schutz
- ✅ v1.7.5 Media Storage: PHP-Routing via ?action= (kein .htaccess nötig)
- ✅ v1.7.5 DataTables: Init-Guard bei leeren Tabellen (kein Crash mehr)
- ✅ v1.7.5.1 Foto-Upload: URL-Pfad in upload.php dynamisch (nicht mehr hardcoded), Fallback auf bestehendes Foto bei Fehler
- ✅ v1.7.5.2 Spieler-Tabelle: DataTable per
clear()/row.add()/draw()aktualisieren – Werte sofort sichtbar nach Save - ✅ v1.7.5.3 Spielerfotos: sofort nach Upload anzeigen via Blob-URL + DOM-Patch (setTimeout nach DataTable-Init)
- ✅ v1.7.5.4 Notizen: Bearbeiten-Button pro Notiz (Kategorie, Datum, Inhalt nachträglich änderbar)
- ✅ v1.7.5.5 Login-Screen: Selbst-Registrierungs-Formular (Vorname, Nachname, E-Mail, Passwort, Rolle)
- ✅ v1.7.5.6 Benutzerverwaltung: Tab "Ausstehend" – neue Benutzer freigeben oder ablehnen, Badge-Zähler
- ✅ v1.7.5.7 Benutzerverwaltung: Tab "Registrierung" – Admin konfiguriert welche Rollen beim Registrieren wählbar sind (SuperAdmin ausgeschlossen)
- ✅ v1.7.5.8 Benutzer bearbeiten: Zugewiesene Mannschaften dynamisch aus Mannschaftsliste (nicht mehr hardcoded)
- ✅ v1.7.5.9 Dashboard: Implementierungsstand kollabierbar nach Hauptversionen (Baum-Ansicht)
- ✅ v1.7.6 Leistungsmessungen: Skill-Kategorien, Messungstypen, Berechnungsmethoden (CRUD)
- ✅ v1.7.6 Messsitzungen: anlegen, bearbeiten, Spieler zuordnen, Werte erfassen pro Spieler & Typ
- ✅ v1.7.6 Duales System: 🎮 Fun-Card vs. 📈 Performance (calcSkill, Scoring)
- ✅ v1.7.6 calcSkill-Formel: Performance 60% + Konsistenz 25% + Fortschritt 15%
- ✅ v1.7.6 Aggregationsregeln: BEST / MIN / LAST / AVG / SUMME
- ✅ v1.7.6 Video-Analyse (SSA): Schussgeschwindigkeit per Kamera, Einzeln & "Alle übernehmen"
- ✅ v1.7.6 Sitzung reaktivieren + nachträglich bearbeiten
- ✅ v1.7.6 Quellen-Icons je Wert: Training · Zu Hause · Camp · Sonstiges + Zeitstempel
- ✅ v1.7.6 JUMP → DEF umbenannt (skill_key: def)
- ✅ v1.7.7 XP-System v2: Übungs-XP + Startschwellen-XP + Steigerungs-XP + Abzug bei Leistungsabfall
- ✅ v1.7.7 Teilnahme-XP (Anwesenheitsbonus) pro Messsitzung – einmalig vergeben
- ✅ v1.7.7 XP-Regelwerk je Messungstyp vollständig konfigurierbar (Schwellen, Einheiten, Abzug)
- ✅ v1.7.7 XP-Anzeige im Spieler-Tab (Balken, %, Stand) und im Bearbeiten-Modal
- ✅ v1.7.7 Regain-System: Trainer gibt abgezogene XP mit Nachricht zurück (Collection: xp_regains)
- ✅ v1.7.7 Regain-Verlauf im Spieler-Bearbeiten-Modal mit Datum & Nachricht
- ✅ v1.7.7 Messsitzung bearbeiten: Bezeichnung, Datum, Typen, Spieler, Teilnahme-XP nachträglich änderbar
- ✅ v1.7.8 Mannschaften: Drag & Drop Reihenfolge (sort_order in Firestore)
- ✅ v1.7.8 Mannschaften: Soft-Delete / Hard-Delete / Restore (SuperAdmin), Toggle Aktiv/Inaktiv
- ✅ v1.7.8 Vereinsprofil: neuer Menüpunkt "Verein" – Name, Farben (dynamisch), Logo, Adresse, Google Maps, Website, E-Mail
- ✅ v1.7.8 Vereinsprofil: mehrere Vereinsadmins aus Benutzerliste, in
tenants/{tid}.profilgespeichert - ✅ v1.7.8 Lieblingsverein-Modul: App-Setting toggle, SA sieht Logos, andere nur Text-Badges
- ✅ v1.7.8 CSV-Import für Spieler (camp2026.csv): Mannschaft + Gruppe zuweisen, Duplikat-Handling, Teams mergen
- ✅ v1.7.8 Camp-Tab:
_campSpielerView()liest aus FirestorespielerData(Team "Camp"), kein JS-Array mehr - ✅ v1.7.8 Camp: Messwerte speichern in
player_seasons.campScoreviafsSaveSpieler - ✅ v1.7.8 Camp: Migrations-Banner – einmalig
camp.spieler→spielerDataübertragen
- ✅ v1.7.9 Zweites Spiel anlegen Fix:
scrollIntoViewverhindert unsichtbares Formular - ✅ v1.7.9 DataTables: try-catch bei destroy/init – kein Silent-Fail mehr nach Speichern
- ✅ v1.7.9 Speichern-Button: Spinner + Erfolg-/Fehler-Anzeige, bleibt im Formular (kein Auto-Redirect)
- ✅ v1.7.9 Wechsel-Modal: Links nur Feldspieler wählbar (grün), Rechts Feldspieler blockiert
- ✅ v1.7.9 Startaufstellung Auto-Layout: TW ganz oben (y:8), Sturm ganz unten – korrekte Kaskade
- ✅ v1.7.9 Positionsfarben: Spieler-Tokens auf Feld + Bank farblich nach Position (TW/DEF/MF/ST)
- ✅ v1.7.9 Positionsfarben-Einstellungen: Farbpicker + Schriftfarbe (Weiß/Schwarz) in Einstellungen konfigurierbar
- ✅ v1.7.9 Anwesenheit: Filter nach Mannschaft und Gruppe oberhalb des Grids
- ✅ v1.7.9 Leistungsmessungen Drum-Picker: Meter-Einheit auf Hundertstel (0.01) wie Sekunden
- ✅ v1.7.9 Treffpunkt/VorEnde: Auto-Offset bei Beginn/Ende Zeitänderung mit konfigurierbarem Offset-Selector
- ✅ v1.8.0
turnier/index.htmlals eigenes Projekt auf Subdomainturnier.atus-baernbach.at - ✅ v1.8.0 Gleicher Firebase-Tenant – Spielerstatistiken fließen automatisch zusammen (kein Import)
- ✅ v1.8.0 Turnierliste mit Filter (Status, Jahr, Suche), Anlegen/Bearbeiten-Modal (4 Tabs)
- ✅ v1.8.0 Teilnehmerverwaltung: manuell, Import aus MatchFlow-Mannschaften, Gruppen-Zuweisung
- ✅ v1.8.0 Spielplan-Generator: Round-Robin pro Gruppe, Uhrzeiten + Spielfelder automatisch
- ✅ v1.8.0 Admin-Schnelleingabe: Ergebnisse direkt in Tabelle – kein Trainer-Erfassen nötig
- ✅ v1.8.0 Tabellen-Engine: Sp/S/U/N/T/GT/TD/Pkt, konfigurierbares Punktesystem (3/1/0, 2/1/0, 1/0/0)
- ✅ v1.8.0 KO-Bracket Visualisierung: Achtelfinale → Viertelfinale → Halbfinale → Finale (SVG-Darstellung)
- ✅ v1.8.0 CSV-Export Spielplan, Druck via window.print()
- ⏳ v1.8.1 Turnier: KO-Generierung aus Gruppenphase (A1 vs B2 etc.) automatisch
- ⏳ v1.8.1 Turnier: Gast-Team Workflow (temporärer Firebase-Zugang, Kader + Export)
- ⏳ v1.8.1 Turnier: Spielerstatistik-Sync zu MatchFlow (Tore, Karten, Einsatzzeit)
- ⏳ v1.8.x Trainings-TODOs: Wochenansicht, Spieltage, Anwesenheitsliste
- ⏳ v1.8.x Eltern-Portal: eigenes Kind sehen (Profil, Stats, XP), Anwesenheit erfassen
- ⏳ v1.8.x Spieler-Uploads / Trainer-Review (
submissionsCollection) - 📅 PPTX-Vorlage finalisieren & testen
- 📅 Spielerprofil-Export (Word/PDF)
- 📅 Offline-Fähigkeit (IndexedDB Cache)
- 📅 Audit Log + Undo
- 📅 Push-Benachrichtigungen (Training, Camp)
Turnier-Modul turnier.atus-baernbach.at v0.2.0
Eigenständige Datei turnier/index.html auf Subdomain – gleicher Firebase-Tenant wie MatchFlow.
Versionsschema: 0.x.y bis zur ersten stabilen Version (dann 1.0.0).
- ✅ Login mit Firebase Auth (gleicher Account wie MatchFlow)
- ✅ Turnierliste: anlegen, bearbeiten, filtern (Status / Jahr / Suche)
- ✅ Turnier-Formular: Allgemein, Zeit & Ort, Modus (4 Modi), Design
- ✅ Teilnehmer: manuell anlegen, aus MatchFlow-Mannschaften importieren
- ✅ Gruppen-Zuweisung + Auto-Verteilung (2–8 Gruppen)
- ✅ Spielplan-Generator: Round-Robin je Gruppe, Uhrzeiten + Felder automatisch
- ✅ Tabellen-Engine: Sp/S/U/N/T/GT/TD/Pkt, Punktesystem wählbar
- ✅ Admin-Schnelleingabe: Ergebnisse direkt eintragen (kein Trainer nötig)
- ✅ KO-Bracket: grafische Darstellung Achtelfinale → Finale
- ✅ CSV-Export Spielplan + Drucken
- ✅ Turnier anlegen live bestätigt (Firestore-Index + Subdomain aktiv)
- ✅ Uhrzeit-Picker (Startzeit, Ende): gleiche Clock-Picker-Lösung wie MatchFlow
- ✅ Tabellen-Sortierung: Punkte → Direktvergleich → Tordifferenz → Tore
- ✅ Elfmeter-Indikator (P-Badge) bei absolutem Gleichstand in der Tabelle
- ✅ Status frei wählbar per Dropdown (nicht mehr nur linear Geplant→Laufend→Beendet)
- ✅ 7-Meter als Turnierart hinzugefügt (🥅)
- ✅ loadTurnier als window-Funktion (onclick-Fix)
- ✅ Spielplan-Laden ohne Firestore-Index (Sortierung im Code)
- ✅ Benutzer & Rollen:
turnier.view+turnier.editin MatchFlow-Rollensystem - ✅ Berechtigungsprüfung beim Login auf turnier.atus-baernbach.at
- ✅ Logo-Upload: Veranstalter- + Sponsorenlogo per Datei-Upload (Media Storage) oder URL
- ✅ Demo-Modus: Login via "Demo testen" Button (
demo@atus-baernbach.at) - ✅ Demo-Seed: 8 Teams, 2 Gruppen, Spielplan + 6 Ergebnisse automatisch angelegt
- ✅ Demo-Banner + "Demo zurücksetzen"-Button
- ✅ Demo-User: Tenant
tenant_demoin Firestore eingerichtet
- ⏳ v0.3.0 KO-Generierung automatisch aus Gruppenphase (A1 vs B2 etc.)
- ⏳ v0.3.0 Platzierungsspiele + Kreuzspiele automatisch
- ⏳ v0.3.0 Gast-Team Workflow: temporärer Zugang, Kader anlegen, Export
- ⏳ v0.4.0 Spielerstatistik-Sync: Tore, Karten, Einsatzzeit → MatchFlow Spieler-Profil
- ⏳ v0.4.0 Trainer-Flow: vollständige Spielerfassung wie in MatchFlow
- ⏳ v0.5.0 Live-Modus: Public-Link für Zuschauer, QR-Code, Fernseher-Anzeige
- ⏳ v0.6.0 PDF-Export: Spielplan, Tabellen, Turnierprogramm
- ⏳ v0.7.0 Turnier-Statistik im MatchFlow-Dashboard:
- Anzahl Turniere gesamt / aktive Turniere
- Tore, Vorlagen, Pässe pro Spieler (aus Turnierspielen)
- Karten (Gelb / Rot / Blau) aus Turnierspielen
- Einsatzzeit, Wechsel, Sonstiges
- Zusammenführung mit MatchFlow-Spielstatistik (gleicher Tenant → kein Import nötig)
- Torschützenliste + Fair-Play-Wertung pro Turnier
- 📅 Online-Anmeldung von Mannschaften, Schiedsrichterverwaltung (v1.0.0)
MatchFlow – Funktionsübersicht
Login & Benutzer
- • Firebase-Login (E-Mail + Passwort)
- • Multi-Tenant: jeder Verein hat eigene Daten
- • Rollen: Admin, Trainer, Assistent, Elternteil
- • Benutzer anlegen, bearbeiten, soft/hard löschen
- • CSV-Import für Benutzer
- • Saisonwechsel pro Benutzer gespeichert
Saison-System
- • Mehrere Saisonen pro Verein (Firestore)
- • Aktiv / Archiviert / Gelöscht
- • Saison verwalten: Name, Start, Ende
- • Saison-Selektor in der Navigationsleiste
Spieler-Verwaltung
- • Stammdaten: Name, Rückennummer, Position, Geb.-Datum
- • Foto-Upload pro Spieler
- • Mannschaftszuweisung (U10, U12 …)
- • Notizen (Rich-Text)
- • Soft / Hard Delete
- • Statistik: Anzahl Spiele (automatisch gezählt)
Spieler-Karten
- • FIFA-Style Karte pro Spieler
- • Skill-Balken (Tempo, Schuss, Dribbling …)
- • Lieblingsverein mit Logo
- • Vereins-Verwaltung: hinzufügen, umbenennen, löschen
- • Eigene Logos hochladbar
Fußballcamp
- • Eigene Camp-Spieler (unabhängig vom Vereinskader)
- • Skills: Speed, Technik, Schuss, Pass, Sprung, Bonus
- • Skill-Karten mit Foto, Bewertung & SLV-Score
- • Gruppen mit frei wählbaren Farben
- • Farben bearbeiten, neue Gruppen anlegen, umbenennen
- • Farben in Firebase gespeichert (tenantübergreifend)
- • Teams-Tab: Vereinsverwaltung + eigene Logos
Training & Spiel
- • Trainings und Spiele anlegen, bearbeiten, löschen
- • Felder: Datum, Beginn, Ende, Treffpunkt, Notiz
- • Taktikfeld mit Übungs-Details (Abschnitte, Dauer, Links)
- • Word-Export des Trainingsblatts (.docx)
- • Speichern-Button oben und unten
Anwesenheit
- • Pro Spieler: ✔ Anwesend / ❓ Unbekannt / ✖ Abwesend
- • Nur anwesende Spieler erscheinen in Startaufstellung & Events
- • Spiele-Statistik wird automatisch hochgezählt
Startaufstellung
- • SVG-Fußballfeld mit Drag & Drop Tokens
- • Spielsysteme: 3v3 / 4+1 / 5+1 / 6+1 / 8+1 / 10+1
- • Auto-Layout ordnet Spieler nach Position
- • Kapitän-Auswahl (goldener Token)
- • Reservebank mit nicht platzierten Spielern
- • Aufstellung wird mit dem Spiel gespeichert
KPI & Statistiken
- • Tore, Assists, Karten pro Spieler (aus Game Events)
- • Anwesenheit absolut & in % (Trainings + Spiele)
- • Tabelle sortiert nach Toren / Assists
- • Farbcodierte Anwesenheit (grün/gelb/rot)
- • Top-Torschützen Balkendiagramm
- • Anwesenheits-Balkendiagramm
- • Filter nach Mannschaft
Live Game Tracking
- • Halbzeiten starten, pausieren, fortsetzen, beenden
- • Halbzeit bearbeiten (Zeiten korrigieren) & löschen
- • Auto-Ende nach 45 Minuten pro Halbzeit
- • Spielende mit Bestätigung + Wieder öffnen
- • Live-Uhr mit Spielminute
- • Ergebnis-Anzeige (Heim : Gast)
- • Events: Tor, Wechsel, Karte (Gelb/Rot/Blau)
- • Tor: Pass-Geber, Assist, Torschütze + Minute/Sekunde
- • Wechsel: Feld-Spieler markiert (▶ Feld), Bank-Spieler ausgegraut
- • Karten: Auswahl visuell hervorgehoben
- • Alle Events nachträglich bearbeiten & löschen