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>
47 lines
1.6 KiB
JSON
47 lines
1.6 KiB
JSON
{
|
|
"name": "stammtisch-hersbruck.de",
|
|
"private": true,
|
|
"version": "2.0.0-alpha",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite dev --mode development",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"prepare": "svelte-kit sync || echo ''",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
"generate-pocketbase-types": "set -a && . ./.env && set +a && pocketbase-typegen --url \"$PB_TYPEGEN_URL\" --token \"$PB_SUPERUSER_TOKEN\" --out ./src/lib/types.d.ts",
|
|
"seed": "tsx scripts/seed-test-data.ts",
|
|
"migrate": "tsx scripts/migrate-schema.ts",
|
|
"migrate-teams": "tsx scripts/migrate-teams.ts"
|
|
},
|
|
"devDependencies": {
|
|
"@internationalized/date": "^3.12.1",
|
|
"@lucide/svelte": "^1.16.0",
|
|
"@sveltejs/adapter-auto": "^6.1.0",
|
|
"@sveltejs/kit": "^2.43.2",
|
|
"@sveltejs/vite-plugin-svelte": "^6.2.0",
|
|
"@tailwindcss/forms": "^0.5.10",
|
|
"@tailwindcss/typography": "^0.5.18",
|
|
"@tailwindcss/vite": "^4.1.13",
|
|
"bits-ui": "^2.18.1",
|
|
"clsx": "^2.1.1",
|
|
"pocketbase-typegen": "^1.3.1",
|
|
"svelte": "^5.39.5",
|
|
"svelte-check": "^4.3.2",
|
|
"tailwind-merge": "^3.3.1",
|
|
"tailwind-variants": "^3.2.2",
|
|
"tailwindcss": "^4.1.13",
|
|
"tsx": "^4.19.2",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "^5.9.2",
|
|
"vite": "^7.1.7"
|
|
},
|
|
"dependencies": {
|
|
"date-fns": "^4.1.0",
|
|
"lucide-svelte": "^0.503.0",
|
|
"mode-watcher": "^1.1.0",
|
|
"pocketbase": "^0.26.0",
|
|
"tippy.js": "^6.3.7"
|
|
}
|
|
}
|