Files
WebAPP/README.md
Rhino 480e2284ba README.md: Vollständige App-Beschreibung statt Laravel-Boilerplate
Ersetzt die Standard-Laravel-README durch eine umfassende Beschreibung
der Handball Team Manager App mit allen Features, Rollen, Technologien,
Installationsanleitung und Open-Source-Hinweis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 11:57:55 +01:00

7.9 KiB
Executable File

Handball Team Manager

Open-Source-Webanwendung zur Verwaltung von Handball-Jugendmannschaften

Eine moderne, mehrsprachige Web-App für Trainer, Elternvertreter und Familien, um Termine, Spieler, Fahrgemeinschaften, Statistiken und Vereinsorganisation an einem Ort zu bündeln. Optimiert für Shared Hosting (kein SSH nötig) und als Progressive Web App (PWA) auf dem Smartphone nutzbar.


Zweck

Viele Jugend-Handballmannschaften organisieren sich über WhatsApp-Gruppen, E-Mail-Verteiler und Excel-Listen. Dabei gehen Zusagen verloren, Fahrgemeinschaften werden doppelt geplant und niemand weiß, wer den Kuchen mitbringt. Diese App löst genau diese Probleme: eine zentrale Plattform, auf der alle Beteiligten Termine einsehen, zu- oder absagen, Fahrgemeinschaften bilden und Verpflegung koordinieren können — übersichtlich, datenschutzkonform und ohne technische Vorkenntnisse.


Features

Terminverwaltung

  • Erstellen und Verwalten von Heimspielen, Auswärtsspielen, Trainings, Turnieren, Besprechungen und sonstigen Terminen
  • Status-System: Veröffentlicht, Entwurf, Abgesagt
  • Standort mit Kartenansicht und Routenplanung (OpenStreetMap/Nominatim)
  • Dateianhänge pro Termin (Hallenplan, Einladungen etc.)
  • Konfigurierbare Mindestanforderungen pro Termintyp (Spieler, Catering, Zeitnehmer)

Teilnehmerverwaltung

  • Spieler und Eltern können zusagen, absagen oder offen lassen
  • Übersichtliche Teilnehmerliste mit Echtzeit-Status
  • Adminansicht mit manueller Statusänderung

Catering & Zeitnehmer

  • Eltern tragen sich für Verpflegung ein (mit Freitext: „Bringe Kuchen mit")
  • Zeitnehmer-Koordination für Heimspiele
  • Automatische Prüfung der Mindestanforderungen

Fahrgemeinschaften

  • Fahrten anbieten mit Sitzplatzangabe und Treffpunkt
  • Mitfahrer zuordnen und entfernen
  • Anzeige freier Plätze pro Fahrt
  • Fahrt zurückziehen (mit Benachrichtigung der Mitfahrer)

Spielerverwaltung

  • Spieler-Profil mit Trikotnummer, Geburtsjahr, Foto, Position
  • 7 Handball-Positionen: Torwart, Linksaußen, Rechtsaußen, Rückraum Links/Mitte/Rechts, Kreisläufer
  • Zuordnung zu Teams und Eltern-Accounts
  • Soft-Delete mit 7-Tage-Wiederherstellung

Spielerstatistik

  • Pro-Spiel-Erfassung: Tore, Torwürfe, TW-Paraden, TW-Schüsse, Bemerkungen
  • Trefferquote (Feldspieler) und Fangquote (Torwarte)
  • Spieler-Rangliste mit Ampel-Performance (grün/gelb/rot)
  • Spielfeld-Visualisierung (SVG): Beste Spieler pro Position mit Leistungsanzeige
  • Detail-Modal mit historischer Spielübersicht pro Spieler

Team-Verwaltung

  • Mehrere Mannschaften parallel verwalten
  • Spieler-Zuordnung zu Teams
  • Team-basierte Zugriffskontrolle (Trainer sehen nur ihre Teams)

Statistiken & Auswertungen

  • Sieg/Niederlage/Unentschieden-Übersicht mit Siegquote
  • Charts: Spieler-Teilnahme, Eltern-Engagement (Catering/Zeitnehmer)
  • Filterbar nach Team und Zeitraum
  • Eltern-Engagement-Rangliste

Kommentare

  • Diskussionsfunktion pro Termin
  • Moderation durch Admins (Soft-Delete)
  • HTML-sanitisierter Inhalt

Dateiverwaltung

  • Dateien hochladen und kategorisieren
  • Download und Vorschau im Browser
  • Team-basierte Zugriffskontrolle

Listengenerator

  • Formatierte Spieler-/Mannschaftslisten erstellen
  • PDF-Export für Trainer und Betreuer

Standortverwaltung

  • Bekannte Spielorte speichern und wiederverwenden
  • Adresssuche mit Geocoding (OpenStreetMap/Nominatim)

Benutzerverwaltung & Rollen

Rolle Beschreibung
Admin Vollzugriff: Einstellungen, Benutzer, Teams, alle Termine
Trainer Staff-Zugriff auf zugeordnete Teams, Termine erstellen/bearbeiten
Elternvertreter Erweiterte Ansicht für zugeordnete Teams
Elternteil Teilnahme, Catering, Fahrgemeinschaften, Kommentare
  • Einladungssystem mit Token-basierter Registrierung
  • Profilbild, Sprachwahl und Passwortänderung
  • Kontolöschung mit 7-Tage-Wiederherstellung
  • Admin kann Benutzer aktivieren/deaktivieren

DSGVO / Datenschutz

  • DSGVO-Einwilligungssystem: Nutzer laden eine unterschriebene Einwilligungserklärung hoch
  • Admin prüft und genehmigt die Einwilligung
  • Bis zur Genehmigung ist die App im Nur-Lesen-Modus (keine Aktionen möglich)
  • Impressum und Datenschutzerklärung über den Admin-Bereich pflegbar (WYSIWYG-Editor)
  • Mehrsprachige Rechtstexte (pro Sprache konfigurierbar)

Mehrsprachigkeit

Die App unterstützt 6 Sprachen vollständig:

Sprache Code
Deutsch de
English en
Polski pl
Русский ru
العربية (RTL) ar
Türkce tr

Jeder Benutzer wählt seine bevorzugte Sprache im Profil. Alle Oberflächen, Fehlermeldungen und E-Mails werden in der gewählten Sprache angezeigt.


Einstellungen (Admin)

  • App-Name und Slogan
  • Favicon und Vereinslogo hochladen
  • Saison-Konfiguration
  • E-Mail (SMTP) mit Testfunktion
  • Rechtstexte (Impressum, Datenschutz) pro Sprache mit WYSIWYG-Editor
  • Mindestanforderungen pro Termintyp (Spieler, Catering, Zeitnehmer)
  • Demo-Daten laden oder löschen
  • Werksreset mit Passwortbestätigung

Installation

Die App bringt einen 5-Schritte-Installationsassistenten mit:

  1. Systemanforderungen prüfen — PHP 8.2+, benötigte Extensions, Verzeichnisrechte
  2. Datenbank konfigurieren — SQLite (empfohlen) oder MySQL
  3. App einrichten — Name, URL, Admin-Account anlegen
  4. E-Mail konfigurieren — SMTP-Einstellungen mit Testversand
  5. Abschluss — Demo-Daten, Lizenzschlüssel, fertig

Kein SSH-Zugang nötig — die App ist für Shared Hosting (z.B. All-Inkl.com, Strato, IONOS) optimiert und kann per FTP deployed werden.

Systemanforderungen

  • PHP 8.2 oder höher
  • SQLite oder MySQL 8.0+
  • PHP-Extensions: PDO, Mbstring, OpenSSL, Tokenizer, XML, Ctype, JSON, BCMath, Fileinfo
  • Webserver: Apache oder Nginx (DocumentRoot auf /public)

Technologie-Stack

Komponente Technologie
Backend Laravel 12 (PHP 8.2+)
Datenbank SQLite / MySQL
Frontend Blade Templates, Alpine.js
Styling Tailwind CSS
WYSIWYG-Editor Quill.js
Charts Chart.js
PDF-Export DOMPDF
Karten Leaflet.js / OpenStreetMap
HTML-Sanitizer HTMLPurifier

Sicherheit

Die App wurde in 6 unabhängigen Sicherheitsaudits gehärtet (Score: 9.5/10):

  • Rate Limiting auf allen kritischen Endpunkten
  • HTML-Sanitisierung gegen XSS
  • CSRF-Schutz auf allen Formularen
  • Mass-Assignment-Schutz auf allen Models
  • SSRF-Schutz bei Geocoding (DNS-Rebinding, Host-Whitelist)
  • Team-basierte Zugriffskontrolle (Coach-Scoping)
  • Einladungstoken SHA-256-gehasht
  • Session-Verschlüsselung aktiviert
  • Content Security Policy (CSP) und Permissions-Policy Header
  • Soft-Delete mit Wiederherstellungszeitraum
  • Datei-Berechtigungshärtung

Open Source

Dieses Projekt ist Open-Source-Software. Der Quellcode ist frei verfügbar, kann eingesehen, verwendet, verändert und weiterverbreitet werden.

Warum Open Source?

  • Transparenz: Jeder kann den Code prüfen — besonders wichtig bei einer App, die personenbezogene Daten von Kindern und Familien verarbeitet
  • Vertrauen: Keine versteckten Tracker, keine Datensammlung, keine Cloud-Abhängigkeit — die Daten bleiben auf deinem Server
  • Gemeinschaft: Vereine und Entwickler können die App an ihre Bedürfnisse anpassen und Verbesserungen zurückgeben
  • Nachhaltigkeit: Auch wenn der ursprüngliche Entwickler aufhört, kann die Community das Projekt weiterführen
  • Kostenfrei: Keine Lizenzgebühren, keine Abo-Modelle — nur Hosting-Kosten für den eigenen Server

Beiträge sind willkommen! Ob Fehlermeldungen, Übersetzungen, Feature-Vorschläge oder Code — jede Hilfe zählt.


Lizenz

Dieses Projekt steht unter der MIT-Lizenz. Du darfst die Software frei verwenden, kopieren, verändern und verbreiten — auch kommerziell.