OpenAthlete
AGPLv3 endurance training platform: EU-oriented hosting, transparent CTL/ATL/TSB logic in code, self-hosting, and full export. Built in Grenoble.
platzcoach – Termine, Training und Platzbelegung für den SV Bachum/Bergheim, einfach organisiert.
Translation pending
Sports & fitnessHTML · JavaScriptGitHub @fcal1986OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Alle Termine auf einen Blick vom SV Bachum Bergheim e.V.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Terminverwaltung für den SV Bachum/Bergheim, powered by platzcoach. Eine HTML-Seite auf GitHub Pages, Daten als JSON im selben Repo. Ansehen kann jeder — ohne Anmeldung. Nur Eintragen, Ändern und Löschen erfordert einen Zugang. Neues GitHub-Repo, z. B. svbb-termine. Alle Dateien oben hochladen (Ordnerstruktur beibehalten). Settings → Pages → Source: Deploy from a branch → Branch main, Ordner / (root) → Save. Nach ein bis zwei Minuten läuft die App unter https://DEIN-NAME.github.io/svbb-termine/ repo muss exakt stimmen, sonst kann die App nicht speichern.Read the full README ↗
Terminverwaltung für den SV Bachum/Bergheim, powered by platzcoach. Eine HTML-Seite auf GitHub Pages, Daten als JSON im selben Repo.
Ansehen kann jeder — ohne Anmeldung. Nur Eintragen, Ändern und Löschen erfordert einen Zugang.
index.html
manifest.json
icon-192.png
icon-512.png
apple-touch-icon.png
favicon.ico
favicon.webp
og-image.png
assets/logo.svg
assets/logo-horizontal.svg
assets/logo-icon.svg
assets/logo-white.svg
data/config.json
data/events.json
data/users.json
termine.ics ← wird von der App selbst erzeugt
Neues GitHub-Repo, z. B. svbb-termine. Alle Dateien oben hochladen (Ordnerstruktur beibehalten).
Settings → Pages → Source: Deploy from a branch → Branch main, Ordner / (root) → Save.
Nach ein bis zwei Minuten läuft die App unter
https://DEIN-NAME.github.io/svbb-termine/
{
"repo": "DEIN-GITHUB-NAME/svbb-termine",
"branch": "main",
"clubName": "SV Bachum / Bergheim e.V.",
"admin": {
"user": "admin",
"password": "svbachumbergheim",
"first": "Vorstand",
"last": "Admin"
}
}
repo muss exakt stimmen, sonst kann die App nicht speichern.
GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token
| Feld | Wert |
|---|---|
| Repository access | Only select repositories → svbb-termine |
| Permissions → Contents | Read and write |
| Expiration | 1 Jahr (Termin notieren!) |
Token kopieren, er wird nur einmal angezeigt.
App öffnen → oben rechts Anmelden:
adminsvbachumbergheimDann Konto → GitHub-Token → einfügen → Speichern.
Konto → Neuen Trainer anlegen: Vorname, Nachname, E-Mail, Start-Passwort. Zugangsdaten weitergeben. Fertig.
data/events.json (Termine) und data/users.json (Trainer).Bei jedem Speichern schreibt die App zusätzlich termine.ics ins Repo. Diese URL kann jeder abonnieren:
https://DEIN-NAME.github.io/svbb-termine/termine.ics
Der Link steht auch in der App unter Konto → Kalender abonnieren zum Kopieren.
Danach erscheinen alle Vereinstermine im Handy-Kalender und aktualisieren sich von selbst. Ideal für den WhatsApp-Verteiler an Eltern: einmal Link schicken statt jeden Termin einzeln.
Der Abo-Link ist perfekt für die Vereins-Website oder einen QR-Code am Vereinsheim.
Danach startet sie mit eigenem Icon, ohne Browser-Leiste.
GitHub Pages hat keinen Server. Alles läuft im Browser.
Was geschützt ist:
Der Schreib-Token wird mit dem Passwort jedes Trainers verschlüsselt (PBKDF2, 310.000 Runden + AES-GCM) und liegt nur so in users.json. Ohne richtiges Passwort ist er nicht lesbar → kein Schreibzugriff. Das Admin-Passwort steht zwar im Klartext in config.json, nützt aber allein nichts: Der Admin-Token liegt nur lokal auf dem Gerät des Admins, nie im Repo.
Was nicht geschützt ist — und jetzt auch nicht mehr sein soll:
users.json stehen Namen und E-Mail-Adressen der Trainer öffentlich lesbar. Wenn das stört: nur Vorname + Vereins-Mail statt privater Adresse eintragen.12345678.Faustregel: Passend für einen öffentlichen Vereinskalender, nicht für sensible Daten.
Nach dem Anmelden unter Konto → Anmeldung per Fingerabdruck. Danach reicht Finger oder Face-ID.
Das ist eine Gerätesperre, kein zusätzlicher Server-Schutz — der Zugang bleibt dafür auf dem Gerät gespeichert. Nur auf dem eigenen Handy einrichten, nicht auf einem geteilten Rechner. Funktioniert nur über HTTPS, auf GitHub Pages also automatisch.
data/config.json im Repo bearbeiten, password ändern, committen. Sonst nirgends.
Wenn Trainer „Token ungültig" melden: neuen Token erstellen (Schritt 4), als Admin hinterlegen (Schritt 5) — und alle Trainer neu anlegen, weil in ihren Datensätzen noch der alte Token verschlüsselt liegt. Der unschöne Teil dieser Architektur; mit einem Jahr Laufzeit passiert es selten.
Sobald ihr echte Zugriffsrechte oder viele Nutzer braucht, ist ein kleines Backend (z. B. Supabase, kostenloser Tarif) der saubere Weg. Die Oberfläche kann bleiben, nur der Speicherteil wird getauscht.