stammtisch-hersbruck/frontend/README.md
Daniel Michelberger 5658ef7bcc chore: veraltete Scripts unter frontend/scripts entfernen
Alle vier Scripts setzten auf einem Schema auf, das es nicht mehr gibt:

- seed-test-data.ts schrieb in stages und results (heute: runs und times)
  und kannte users.role, riders.email/birthday sowie events.created_by/
  timekeepers -- alles nicht mehr vorhanden. Teams kannte es gar nicht,
  ohne Team-Zuordnung greifen sämtliche API-Rules und die Daten wären
  unsichtbar geblieben.
- migrate-schema.ts und migrate-teams.ts waren Einmal-Migrationen. Ihr
  Ergebnis steckt längst im Schema (events.status, riders.number, times.
  correction, die teams-Collection, die team-Felder). Ein erneuter Lauf
  gegen die produktive Instanz wäre bestenfalls wirkungslos.
- test-token.ts war ein Wegwerf-Prüfscript für den Superuser-Token.

Das Schema ist jetzt in backend/pb_migrations/ versioniert; das ist der
Weg für Änderungen. tsx entfällt als Abhängigkeit, es wurde nur von
diesen Scripts benutzt.

PB_SUPERUSER_TOKEN bleibt in .env -- generate-pocketbase-types braucht ihn.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-06 13:42:24 +02:00

49 lines
1.6 KiB
Markdown

# stammtisch-hersbruck.de — Frontend
SvelteKit-5-Anwendung (Svelte 5 Runes, Tailwind 4) für Zeitnahme und Verwaltung.
## Einrichten
`.env` aus der Vorlage anlegen und ausfüllen — `.env.example` beschreibt jede
Variable:
cp .env.example .env
npm ci
npm run dev
Die App läuft dann auf http://stammtisch-hersbruck.de.localhost:31337
## Befehle
| Befehl | Zweck |
|---|---|
| `npm run dev` | Development-Server (Port 31337, strict) |
| `npm run build` | Produktions-Build |
| `npm run preview` | Produktions-Build lokal ansehen |
| `npm run check` | Typprüfung (svelte-check) |
| `npm run check:watch` | Typprüfung im Watch-Modus |
| `npm run generate-pocketbase-types` | `src/lib/types.d.ts` aus dem PocketBase-Schema erzeugen |
## Welche PocketBase-Instanz?
`PUBLIC_PB_URL` in `.env` entscheidet, wohin das Frontend spricht:
| Wert | Instanz |
|---|---|
| `https://api.stammtisch-hersbruck.de` | produktiv (Default) |
| `http://127.0.0.1:8090` | lokales Backend aus `../backend` |
Die Variable wird von SvelteKit zur **Buildzeit** eingesetzt
(`$env/static/public`). Ein Wechsel der Instanz erfordert deshalb einen
Neustart des Dev-Servers bzw. einen neuen Build — ein blosser Neustart des
Containers genügt nicht.
`PB_TYPEGEN_URL` und `PB_SUPERUSER_TOKEN` gelten getrennt davon für
`npm run generate-pocketbase-types`.
## Schema
Das maßgebliche Schema liegt als Migration in `../backend/pb_migrations/`.
Nach einer Schema-Änderung `npm run generate-pocketbase-types` ausführen — das
aktualisiert `src/lib/types.d.ts`, aus dem der PocketBase-Client seine Typen
bezieht.