Über das Projekt
Der Bundestrainer Axel Müller des ÖTDV führt den Nationalkader. Welche Athleten in welcher Gewichtsklasse starten, welche Punkte sie bei Wettkämpfen gesammelt haben und wer sich damit für den Kader qualifiziert. Bisher wurden diese Daten als Notizen erfasst. Die Anwendung bündelt es in einer TYPO3-Installation mit fünf eigenen Extensions: Stammdaten, Qualifikationspunkte, ein eigenes Verwaltungsmodul, Trainingsplanung und eine Feldverschlüsselung für personenbezogene Daten. Im Verwaltungsmodul wertet zusätzlich eine anonymisierte KI-Analyse pro Athlet einen frei wählbaren Zeitraum aus und stellt ihn der vorherigen Analyse gegenüber.
Die Seite ist unter taekwondo-nationalteam.at online. Die passwortgeschützten Bereiche kann ich aus Datenschutzgründen nicht zeigen. Einen Einblick gibt die Demo-Version unter demo.taekwondo-nationalteam.at.
Herausforderung
- Stammdaten von Landesverbänden, Vereinen und Athleten sollen an einer Stelle gepflegt werden – ohne die generische Listenansicht des TYPO3-Backends.
- Der Bundestrainer soll ausschließlich in seinem eigenen Modul arbeiten und keinen Zugriff auf den Rest des Systems benötigen.
- Qualifikationspunkte hängen von Wettkampf, Kategorie und Zeitraum ab; die Kader-Rangliste muss sich daraus jederzeit nachvollziehbar berechnen lassen.
- Personenbezogene Daten von teils minderjährigen Athleten dürfen in einem Datenbank-Dump nicht lesbar sein.
- Athleten und Trainer brauchen einen eigenen Zugang im Frontend, dürfen dort aber nur die Daten sehen, die sie selbst betreffen.
- Trainer können nach Freigabe des Bundestrainer Eintragungen in das Punktesystem für ihre zugewiesenen Athleten eintragen.
- Trainingseinheiten sollen öffentlich sichtbar sein, Trainer tragen sich selbst ein.
- Der Bundestrainer soll aus Trainernotizen, Kaderpunkten und Kampfergebnissen per KI die Entwicklung eines Athleten ablesen können, ohne dass Namen, Verein oder Kontaktdaten das System verlassen.
- Freitext-Notizen können trotzdem Namen enthalten. Diese werden vor dem Versand herausgefiltert, und es muss nachvollziehbar sein, was genau an die KI geht.
To-Dos
- Extension kader: Datensätze für Verbände, Vereine, Athleten und Gewichtsklassen, Athletenprofil im Frontend und Zugriffsprüfung je Login.
- Extension kader-points: Zeiträume, Wettkämpfe, Punkteregeln und Ergebnisse, daraus die Kader-Rangliste als Backend-Modul.
- Extension kader-manager: eigenes Backend-Modul „Kaderverwaltung“ mit Listen und Formularen aus der TCA, Frontend-Logins per Button.
- Extension kader-training: Wochentemplates, Trainingsslots, öffentlicher Kalender mit Trainer-Check-in und Trainingsplan als PDF.
- Extension fieldcrypt: transparente AES-256-GCM-Verschlüsselung einzelner TCA-Felder.
- Athleten-Berichte im Modul „Kaderverwaltung“: Zeitspanne wählen, Vorschau der anonymisierten Daten, KI-Auswertung im Vergleich zur vorherigen Analyse, Entwicklung als Diagramm und PDF-Download.
- Anonymisierung der Daten vor dem Versand, inklusive Bereinigung der Trainernotizen.
Lösung
Die Stammdaten liegen in eigenen Tabellen, gepflegt werden sie über das Modul „Kaderverwaltung“. Dessen Formulare entstehen aus der TCA, gespeichert wird über den DataHandler ,damit greifen alle Hooks, allen voran die Verschlüsselung. Frontend-Logins für Athleten und Trainer legt der Bundestrainer per Button an; die Logins haben bewusst keine E-Mail-Adresse, Passwörter werden direkt im Modul neu vergeben. Welche Athleten ein eingeloggter Benutzer sehen darf, entscheidet eine zentrale Zugriffsprüfung, sodass ein Athlet nur sein eigenes Profil sieht.
Personenbezogene Felder werden per Markierung in der TCA vor dem Speichern mit AES-256-GCM verschlüsselt und im Backend-Formular wieder entschlüsselt angezeigt. Die Kader-Rangliste berechnet sich aus Ergebnissen und Punkteregeln pro Zeitraum.
Die KI-Analyse sitzt als eigener Reiter „Berichte“ beim Athleten im Verwaltungsmodul. Der Bundestrainer wählt eine Zeitspanne und sieht zuerst eine Vorschau: genau der Text, der an die KI geht. Namen, Verein, Geburtsdatum und Kontaktdaten fehlen; in den Notizen werden Name des Athleten, Verein und Trainer sowie E-Mail-Adressen und Telefonnummern herausgefiltert und durch Platzhalter ersetzt.
Die KI analysiert über den gewählten Zeitraum die Trainernotizen, die Kaderpunkte, die gewonnenen Kämpfe und die Einordnung der Wettkämpfe nach ihrem Niveau. Das Ergebnis wird der vorherigen Analyse gegenübergestellt und in einem Diagramm dargestellt, daraus lässt sich die Entwicklung des Athleten ableiten. Die KI arbeitet dabei nur mit den gelieferten Daten. Die Auswertung läuft über mittwald AI Hosting: eine OpenAI-kompatible API auf Infrastruktur, die mittwald in Deutschland betreibt. Jeder Bericht wird als Momentaufnahme verschlüsselt beim Athleten gespeichert und lässt sich als PDF herunterladen.