No description
- TypeScript 99%
- Dockerfile 1%
- Neue Tabelle mit allen Umgebungsvariablen - Auth/ACL/Crypto/Audit-Konventionen detailliert - Swagger-UI unter /docs erwähnt - ENCRYPTION_KEY-Format dokumentiert |
||
|---|---|---|
| backend | ||
| docs | ||
| frontend | ||
| keycloak | ||
| .gitignore | ||
| AGENTS.md | ||
| docker-compose.yml | ||
| openapi.yaml | ||
| README.md | ||
FamilienFeierPlaner
Personen-, Kontakt- und Event-Management-System (Gästeliste & Zahlungsabgleich).
Architektur
- Frontend — Cloudflare Worker (BFF) + UI-Framework
- Backend — Node.js (Fastify) REST API
- Datenbank — PostgreSQL mit AES-256-GCM-Verschlüsselung
- Auth — Keycloak (OAuth2 / PKCE)
Verzeichnisstruktur
├── openapi.yaml OpenAPI 3.1-Spezifikation (Single Source of Truth)
├── frontend/ Cloudflare Worker (BFF) + UI
├── backend/ Fastify REST API + Prisma
├── keycloak/ Keycloak-Realm-Export + Custom Theme
└── docs/ Technische Spezifikationen
Erste Schritte
Voraussetzungen: Docker & Docker Compose
# Backend-Abhängigkeiten installieren (für lokale TypeScript-Entwicklung)
cd backend && npm install
# Vollen Stack starten
docker compose up --build
Damit werden gestartet:
- PostgreSQL (Port 5432) — relationale Datenbank
- Keycloak (Port 8080, Admin:
admin/admin) — Authentifizierung - Fastify-Backend (Port 3000) — REST API
Health-Check prüfen:
curl http://localhost:3000/health
# {"status":"ok","database":"connected","keycloak":"reachable"}
Fahrplan
Das Projekt wird in 12 Meilensteinen entwickelt (Details im Designdokument):
| MS | Titel | Status |
|---|---|---|
| 1 | Initiales Repository & Ordnerstruktur | ✅ |
| 2 | Infrastruktur-Skelett & /health-Integration |
✅ |
| 3 | Datenbankschema & Automatisches Seeding | ✅ |
| 4 | API-Kern (REST-Infrastruktur) | in Arbeit |
| 5 | Testabdeckung & Integrität | |
| 6 | Keycloak & Wartungsoperationen | |
| 7 | Import & Rechnung | |
| 8 | Datenschutz-Dokumente & DSGVO-Sperre | |
| 9 | BFF-Skelett & Konnektivitätstest | |
| 10 | API-Playground | |
| 11 | Authentifizierung (Keycloak) | |
| 12 | Vollständige UI (ausstehend) |
Technisches Design
API-Spezifikation
Die gesamte REST-API ist als OpenAPI 3.1-Spezifikation dokumentiert: