Die SvelteKit-App liegt unter frontend/, das Backend unter backend/ als eigenständige PocketBase-Instanz mit Dockerfile, docker-compose und versioniertem Schema. - PocketBase-URL über PUBLIC_PB_URL konfigurierbar, Default bleibt die produktive Instanz https://api.stammtisch-hersbruck.de - Schema als Snapshot-Migration der sechs fachlichen Collections (users, teams, events, runs, riders, times), abgezogen von der produktiven Instanz. Verifiziert: ein Erststart gegen leere pb_data legt alle sechs an, Felder und API-Rules stimmen überein. - pb_data und pb_migrations als Bind-Mounts, damit Daten persistieren und im Admin-UI erzeugte Migrationen im Repo landen - Veraltete Dokumentation entfernt: pocketbase_schema.json nannte Collections (stages, results, organizers), die es nicht gibt Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.1 KiB
1.1 KiB
stammtisch-hersbruck.de
Zeitmessung und Verwaltung für Läufe des Stammtisch Hersbruck.
Das Repository enthält beide Teile der Anwendung:
| Verzeichnis | Inhalt |
|---|---|
frontend/ |
SvelteKit-5-Anwendung (Svelte 5 Runes, Tailwind 4) |
backend/ |
PocketBase-Instanz — Dockerfile, Schema-Migrationen |
Schnellstart
Frontend gegen die produktive Instanz:
cd frontend
cp .env.example .env # Werte eintragen
npm ci
npm run dev
Die App läuft dann auf http://stammtisch-hersbruck.de.localhost:31337
Backend lokal (optional — der Default zeigt auf die produktive Instanz):
cd backend
cp .env.example .env # Werte eintragen
docker compose up -d --build
Danach in frontend/.env PUBLIC_PB_URL=http://127.0.0.1:8090 setzen.
Details stehen in backend/README.md.
PocketBase
Produktiv: https://api.stammtisch-hersbruck.de
Welche Instanz das Frontend anspricht, entscheidet PUBLIC_PB_URL in
frontend/.env. Das Schema ist als Migration in backend/pb_migrations/
versioniert.