# KC-APP Multi-tenant event, election and communication platform for Konfi-Castle events (KCs), replacing the WordPress plugin "Workshop-Wahlen". See [plan-kcAppMultiTenantPlatform.prompt.md](plan-kcAppMultiTenantPlatform.prompt.md) for the full architecture and phased roadmap. ## Structure - `backend/` — NestJS API (Prisma/PostgreSQL, Authentik OIDC as resource server, guest/Konfi local accounts, roles/permissions foundation). See [backend/README.md](backend/README.md) for setup. - `client/` — planned Flutter app (mobile + web + desktop), not yet scaffolded (Flutter is not installed in this environment). ## Status Phase 0/1 foundation implemented: monorepo skeleton, Prisma data model (Kc, Gemeinde, User, Membership, GuestAccount, Wahl/Workshop/Teilnehmer/Zuteilung, File, Chat), Authentik JWT resource-server strategy, guest invite-code login, Role-based guard scoped per KC. Backend builds and boots cleanly (`npm run build`, `node dist/main.js`) but requires a real PostgreSQL database and Authentik instance (see `backend/.env.example`) to run end to end. Remaining phases (Wahl-Engine, Dateifreigabe, Chat realtime, Lokal/Cloud Sync, Flutter clients) are not yet implemented.