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>
49 lines
1.6 KiB
Markdown
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.
|