No description
  • TypeScript 95.9%
  • CSS 2%
  • Dockerfile 1.7%
  • JavaScript 0.4%
Find a file
Bernd Wißler d38a8604d8 Start
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-11-13 14:49:29 +01:00
.claude Start 2026-11-13 14:49:29 +01:00
public/icons Start 2026-11-13 14:49:29 +01:00
src Start 2026-11-13 14:49:29 +01:00
tests Start 2026-11-13 14:49:29 +01:00
.dockerignore Start 2026-11-13 14:49:29 +01:00
.env.example Start 2026-11-13 14:49:29 +01:00
.gitignore Start 2026-11-13 14:49:29 +01:00
AGENTS.md Start 2026-11-13 14:49:29 +01:00
CLAUDE.md Start 2026-11-13 14:49:29 +01:00
docker-compose.override.yml Start 2026-11-13 14:49:29 +01:00
docker-compose.yml Start 2026-11-13 14:49:29 +01:00
Dockerfile Start 2026-11-13 14:49:29 +01:00
next-env.d.ts Start 2026-11-13 14:49:29 +01:00
next.config.mjs Start 2026-11-13 14:49:29 +01:00
package.json Start 2026-11-13 14:49:29 +01:00
pnpm-lock.yaml Start 2026-11-13 14:49:29 +01:00
README.md Start 2026-11-13 14:49:29 +01:00
tsconfig.json Start 2026-11-13 14:49:29 +01:00
vitest.config.ts Start 2026-11-13 14:49:29 +01:00

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)

  1. .env.example nach .env kopieren, alle Werte setzen (insbesondere PAYLOAD_SECRET, Datenbankpasswort, SMTP-Daten des Vereinspostfachs).
  2. DB_SCHEMA_PUSH=true in .env setzen und docker compose up -d --build starten. Das legt die Tabellen an.
  3. DB_SCHEMA_PUSH=false setzen und docker compose up -d erneut starten.
  4. Ersten Vorstand im Admin unter /admin anlegen (erster Benutzer wird über den Payload-Assistenten erstellt).

Offen vor dem Produktivbetrieb

  • Baseline-Migration erzeugen: pnpm payload migrate:create initial auf 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).