Moderne PHP/MariaDB Web-App fuer Vereins- und Gruppenverwaltung mit getrennten Konten fuer:
- Sportler
- Assistenten
- Uebungsleiter
- Geschaeftsstelle
setup.phpfuer Ersteinrichtung- DB-Zugang + Datenbankanlage
- Vereinsname in
settings - Erstkonto fuer Geschaeftsstelle
- Komplettes Schema inkl. Gruppen, Zuordnungen, Einladungen, Audit-Log
- Getrennte Kontentabellen pro Rolle
- Keine Mehrfachrollen
- Login:
- alle Rollen ueber
Vorname + Nachname + Passwort
- alle Rollen ueber
- Registrierung ueber gruppenspezifischen Einladungslink/QR-Token
- Initialpasswort = Geburtsdatum (
TTMMJJJJ, z. B.17032012), danach aenderbar - Duplikaterkennung per
Vorname + Nachname + Geburtsdatum - Eigene Daten bearbeiten (VereinsMitgliedsID nur lesbar)
- Eigene Gruppen einsehen
- Eigenes Konto hart loeschen (doppelte Bestaetigung)
- Gruppenliste vollstaendig
- Geburtstagsliste pro Gruppe (Sportler, Assistenten, Uebungsleiter)
- Teilnehmer einladen (Link + QR)
- Sportler manuell aufnehmen
- Assistenten anlegen und eigenen Gruppen zuordnen
- Sportler-Passwort auf Standard (Geburtsdatum) zuruecksetzen
- Eigenes Profil aendern
- Gruppenliste light (Name, Vorname, Alter, Geburtstag, Telefonnummern)
- Geburtstagsliste pro Gruppe
- Teilnehmer einladen (Link + QR)
- Sportler manuell aufnehmen
- Gruppen CRUD
- Loeschen nur bei 0 aktiven Teilnehmern
- Uebungsleiter CRUD
- Loeschen nur wenn keiner Gruppe zugeordnet
- Assistenten CRUD
- Loeschen nur wenn keiner Gruppe zugeordnet
- Teilnehmerlisten (Sportler/Assistenten/Uebungsleiter)
- Pflege
VereinsMitgliedsIDfuer Sportler
- Gruppenspezifische Tokens
- Mehrfachnutzung
- Ablaufdatum (Standard 14 Tage)
- QR-Code enthaelt Link mit Token
- Optionaler Gruppen-Link pro Einladung (z. B. WhatsApp), Anzeige nach erfolgreicher Sportler-Anmeldung
- Audit-Log fuer CRUD/Account-Aktionen
- Speicherung in
audit_logs - automatische Bereinigung nach
log_retention_days(Standard 90)
- Brute-Force-Schutz auf
index.phpueber DB-gestuetzte Throttles (login_throttles) - Sperre nach mehreren Fehlversuchen (Identitaet und IP)
- Verzoegerung von 2 Sekunden bei jedem fehlgeschlagenen Login
- Modernes responsives Layout
- Linke Sidebar Navigation
- Hamburger-Toggle auf kleinen Screens
- Sidebar automatisch sichtbar bei viel Platz
setup.php- Ersteinrichtungindex.php- Logindashboard.php- Rollen-Dashboardprofile.php- Eigenes Profilpassword.php- Passwortwechselgroups.php- Gruppenansichten, Gruppenverwaltung und manuelle Sportleraufnahmegroups-leave.php- reduzierte Gruppenansicht fuer Uebungsleiter zum Austragen von Sportlernreset-passwords.php- Passwort-Reset fuer Sportler in den Gruppen des Uebungsleitersinvitations.php- Einladungen erzeugeninvitation.php- Einladungsseite fuer Registrierung/Zuordnungstaff.php- CRUD fuer Uebungsleiter/Assistentenparticipants.php- Teilnehmerlisten + MitgliedsID Pflegelogs.php- Audit-Protokollansicht und manuelle Bereinigungmy-groups.php- Gruppenansicht Sportlerdelete-account.php- harte Selbstloeschung Sportler
- Webserver mit PHP bereitstellen (z. B. Apache/Nginx + PHP-FPM)
- MariaDB laufen lassen
- Projekt ins Webroot legen
http://<host>/setup.phpaufrufen- Setup-Form ausfuellen
- Danach ueber
index.phpanmelden
- Kein Mailversand, kein SMS-Versand
- Sprache: Deutsch
E-MailundTelefonsind optional- Pflichtfelder:
Vorname,Nachname,Geburtsdatum - Elternkontakte sind optional
TurnID: nur fuer Sportler, optional, alphanumerisch, max. 16 ZeichenTurnIDwird beim Anlegen nicht automatisch von PHP gesetzt- Abgelaufene Einladungen werden automatisch bereinigt