No description
- TypeScript 95.9%
- CSS 2%
- Dockerfile 1.7%
- JavaScript 0.4%
|
|
||
|---|---|---|
| .claude | ||
| public/icons | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| docker-compose.override.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| next-env.d.ts | ||
| next.config.mjs | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| tsconfig.json | ||
| vitest.config.ts | ||
FSV App (Payload CMS + Postgres)
Vereins-App der FSV Rot-Weiß Stegen: öffentliche Seiten, Redaktions-Admin und interner Mitgliederbereich als PWA.
Voraussetzungen
- Node.js 22, pnpm 10 (
corepack enable) - Docker mit Compose (auf dem NUC: Docker Engine in WSL2)
Lokal prüfen
pnpm install
pnpm typecheck
pnpm test
pnpm build
Erstinstallation (Docker, NUC)
.env.examplenach.envkopieren, alle Werte setzen (insbesonderePAYLOAD_SECRET, Datenbankpasswort, SMTP-Daten des Vereinspostfachs).DB_SCHEMA_PUSH=truein.envsetzen unddocker compose up -d --buildstarten. Das legt die Tabellen an.DB_SCHEMA_PUSH=falsesetzen unddocker compose up -derneut starten.- Ersten Vorstand im Admin unter
/adminanlegen (erster Benutzer wird über den Payload-Assistenten erstellt).
Offen vor dem Produktivbetrieb
- Baseline-Migration erzeugen:
pnpm payload migrate:create initialauf einem Entwicklungsrechner mit laufender Datenbank; dann liegt das Schema versioniert im Repo. - Vereinslogo: Platzhalter-Icons in
public/icons/ersetzen. - Service Worker für Offline-Cache (z. B. Serwist).
- Backup-Container (pg_dump + Medien, verschlüsselt außer Haus).
- Datenschutzerklärung zum Mitgliederbereich.
- Trainer-Prüfung beim Anlegen (beforeChange-Hook).