Überblick
Der Trainerbelegungsplan macht Schluss mit der zettel- und chatbasierten Koordination von Trainereinsätzen. Admins erstellen Monatspläne mit konkreten Zeitslots, die Redaktion pflegt die Einträge, und Trainer checken sich selbst per PIN ein. Das Leistungszentrum der Sportschule kann über einen Dashboad genau sehen ob alle Kurse immer mit Trainern belegt sind.
Die Herausforderung
In einer Taekwondo-Schuel mit mehreren Standorten und vielen Trainern wird die Planung schnell unübersichtlich: Wer ist wann wo? Wer hat sich schon eingetragen? Und wie verhindert man Doppelbuchungen, ohne gleich eine komplizierte Infrastruktur hochzuziehen?
Die Lösung
Vier Rollen mit einer sauberen Hierarchie decken alle Fälle ab.
Rollenbasiertes Planungssystem für Trainereinsätze mit Self-Service-Check-in per PIN, Echtzeit-Synchronisation und mehrstufigem Berechtigungsmodell.
Alle auf demselben Stand
Jede Änderung an Plänen und Check-ins wird sofort per Socket.io an alle verbundenen Geräte weitergereicht. Wer den Plan auf dem Handy offen hat, sieht neue Einträge ganz ohne Reload.
Wiederkehrender Wochenplan
Neben einmaligen Monatsplänen können Admins auch einen festen Wochenplan hinterlegen — wiederkehrende Trainingszeiten pro Wochentag und Standort, die automatisch in alle Folgewochen übernommen werden.
Self-Service-Check-in per PIN
Trainer brauchen kein klassisches Login mit Passwort. Ein kurzer PIN (4–8 Stellen) reicht, um sich in der Sporthalle im Vorbeigehen einzuchecken. Die PINs werden mit bcryptjs (Cost 10) gehasht gespeichert — im Klartext verlassen sie nie den Server.
Check-in-Logik:
Paralleles Einchecken in mehrere gleichzeitige Slots ist blockiert
Fremd-Check-in anderer Trainer ist nicht möglich
Bereits eingecheckte Trainer werden automatisch dem Slot zugeordnet
Schutz vor Missbrauch
Alle öffentlich erreichbaren Endpunkte sind durch IP-basiertes Rate-Limiting abgesichert
Technische Details
- Nuxt 4
- Vue 3
- Tailwind CSS
- Postgresql
- Socket.io
- bcryptjs
- PDFKit
- Node
- Docker