Bei LSD Worringen ging es zunächst um eine neue, verlässliche Vereinswebsite. Im Laufe des Projekts kam eine zweite Aufgabe dazu: Statistik- und Live-Daten aus 3K so aufzubereiten, dass sie für Besucher verständlich und auf dem Smartphone wirklich brauchbar sind.

Die Idee: neu bauen statt Altlasten mitzuschleppen
Die frühere Website war technisch keine sinnvolle Grundlage mehr. Texte, Bilder, Termine und Kontaktdaten konnten als Inhalte weiterverwendet werden. Alte CMS- und PHP-Dateien dagegen nicht. Genau daraus entstand die Grundentscheidung für das Projekt: nicht versuchen, eine kompromittierte technische Basis irgendwie wieder vertrauenswürdig zu machen, sondern sauber neu anfangen.
Die neue Seite sollte den Verein vorstellen, Mannschaften und Termine zeigen, Spielstätte und Kontakt schnell auffindbar machen und auf dem Handy genauso selbstverständlich funktionieren wie auf dem PC. Für diese Anforderungen brauchte es kein neues CMS.
Ausgangslage: zwei Aufgaben, die getrennt besser funktionieren
Im Projekt haben sich zwei unterschiedliche Bereiche entwickelt. Die öffentliche Hauptseite ist die ruhige, leicht pflegbare Vereinsseite. Daneben gibt es eine eigene Statistik- und Live-Anwendung. Beide gehören fachlich zusammen, haben technisch aber unterschiedliche Anforderungen.
Informationen für Besucher
Mannschaften, Termine, Spielstätte, Kontakt, Kalender und der Einstieg in die Statistik. Die Seite soll vor allem schnell und unkompliziert sein.
Daten, die sich laufend ändern
Saisonstatistiken, Spielberichte, Liveboards, Ergebnisarchiv und Mannschaftsstand. Dieser Bereich darf technisch komplexer sein, ohne die Hauptseite damit zu belasten.
Planung und Anforderungen
Die Grundanforderungen waren bewusst pragmatisch. Die Hauptseite sollte mit möglichst wenig Technik auskommen. Dynamische Daten werden nur dort serverseitig abgefragt, wo das einen konkreten Nutzen hat.
- statische HTML-, CSS- und JavaScript-Basis statt CMS,
- kleine PHP-Endpunkte nur für tatsächlich dynamische Funktionen,
- separate Darstellung für NWDV und Stadtliga,
- vollständige Spielberichte und Spieler-/Doppelstatistiken aus 3K,
- Liveanzeige, die auch bei spätem Einstieg bereits beendete Partien kennt,
- mobile Darstellung mit möglichst viel Information auf wenig Höhe,
- keine geratenen Daten: bei unklarer Zuordnung lieber nichts anzeigen als das falsche Spiel.
Umsetzung: so klein wie möglich, so dynamisch wie nötig
Die öffentliche Seite bleibt überwiegend statisch. Dynamische Mannschafts-, Termin- und Kalenderdaten werden über gezielte Schnittstellen ergänzt. Die Statistik wird separat geführt und bezieht Spielplan-, Spielbericht- und Statistikdaten aus den jeweiligen 3K-Quellen.
Das ist bewusst keine „alles im Browser“-Lösung. Die verschiedenen Aufgaben sind getrennt: Daten holen, Daten zuordnen, Ergebnisse archivieren und schließlich die für Besucher sichtbare Darstellung. Dadurch lässt sich bei einem Fehler viel leichter erkennen, an welcher Stelle etwas schiefgeht.
Die Statistikbereiche
Neben der Liveansicht gibt es klassische Saisonstatistiken. Dazu gehören Übersicht, Spieltage mit vollständigem Spielbericht, Spieler, Doppel und Bestleistungen. Die Live-Steuerung wurde bewusst aus diesen Statistikseiten herausgelöst und in eine zentrale Live-Zentrale verschoben.
Vom Liveticker zur belastbaren Live-Anwendung
Der Livebereich war der Teil des Projekts, der sich am stärksten weiterentwickelt hat. Ein reiner WebSocket-Liveticker reicht nämlich nur so lange, wie alles ideal läuft. Besucher kommen aber auch erst mitten im Spiel auf die Seite, ein Livekanal kann später starten, und manche Wettbewerbe liefern gar keinen echten Board-Livefeed.
Deshalb werden laufende Daten und bereits abgeschlossene Partien zusammengeführt. Ein Besucher muss nicht seit dem ersten Dart auf der Seite gewesen sein. Beendete Einzel und Doppel können aus dem normalen Spielbericht nachgeladen werden; auch ein abgeschlossenes Teamgame wird berücksichtigt. Aus dem Archiv der beendeten Partien entsteht der Mannschafts-Gesamtstand.
Für fremde oder manuell gestartete Quellen gilt eine wichtige Sicherheitsregel: Eine technische Umgebung darf nicht einfach als fachliche Liga interpretiert werden. Wenn eine Begegnung nicht eindeutig einem Spielbericht zugeordnet werden kann, zeigt die Anwendung lieber keine historischen Ergebnisse als Ergebnisse des falschen Spiels.
Mobile Darstellung war Teil der Funktion – nicht nur Kosmetik
Die ersten Livekarten waren auf dem Smartphone zu hoch. Deshalb wurde die laufende Boardanzeige mehrfach verdichtet: Name oben, Restscore klar sichtbar, Meta-Informationen daneben, technische Verbindungsdetails raus aus dem Ticker. Im Ticker selbst blieb am Ende nur noch ein kleiner Statuspunkt. Die Spielernamen wurden bewusst nicht kleiner gemacht.
Was nicht sofort funktioniert hat
Gerade dieser Teil macht das Projekt für mich interessant. Mehrere Zwischenstände waren technisch bereits „funktionsfähig“ – und trotzdem noch nicht fertig.
Nur Live-Meldungen zu speichern reichte nicht. Wer später auf die Seite kam, brauchte die bereits abgeschlossenen Spiele aus dem normalen Spielbericht.
Die zuverlässige Zuordnung musste über das tatsächlich ausgewählte Ligaspiel erfolgen. Damit wurde das Ergebnisarchiv unabhängig davon, wie der Livekanal intern bezeichnet ist.
Bei der Stadtliga konnte ein Teilspiel bereits sportlich entschieden sein, obwohl der technische Status noch offen war. Die Erkennung musste deshalb zusätzlich das Ergebnis berücksichtigen.
Für solche Fälle entstand ein Ergebnis-Ticker, der den normalen 3K-Spielbericht regelmäßig nachzieht.
Ein reales Stadtligaspiel endete nach 5:5 erst durch ein zusätzliches Teamgame. Dieser Sonderfall wurde im normalen Spielbericht erkannt, ins Archiv übernommen und in den Endstand eingerechnet.
Der letzte Mannschaftsstand sollte nicht verschwinden. Deshalb bleibt der bestätigte Endstand zur Nachschau sichtbar, ohne weiterhin laufende Boards vorzutäuschen.
Ergebnis
Heute besteht das Projekt aus einer klaren öffentlichen Vereinsseite und einer getrennten Statistik-/Live-Anwendung. Die Hauptseite bleibt leicht und wartungsarm. Die Statistik darf technisch anspruchsvoller sein, weil sie genau dort Mehrwert liefert: Daten aus mehreren 3K-Quellen zusammenführen, Spielberichte eindeutig zuordnen, abgeschlossene Partien nachladen und Liveinformationen mobil sinnvoll darstellen.
Besonders wichtig ist mir dabei, dass die Seite nicht versucht, Unsicherheit mit erfundenen Daten zu kaschieren. Wenn eine externe Quelle nicht eindeutig auflösbar ist, wird lieber weniger angezeigt als etwas Falsches.
Was ich aus dem Projekt mitnehme
- Altbestand zuerst bewerten – nicht automatisch übernehmen.
- Die kleinste Architektur wählen, die die Aufgabe zuverlässig löst.
- Hauptseite und datenintensive Spezialanwendung dürfen bewusst getrennt sein.
- Bei Livefunktionen immer auch späteren Einstieg, Abbruch, Nachladen und Sonderfälle testen.
- Mobile Darstellung ist eine fachliche Anforderung, nicht nur ein letzter Designschritt.
- Technische IDs und fachliche Bedeutung nicht miteinander verwechseln.
- „Funktioniert“ ist nicht dasselbe wie „fertig“ – reale Tests zeigen oft erst die entscheidenden Lücken.