# RFP Finanzübersicht Material-3-orientierter MVP für die Budgetsteuerung von Vereins-AGs mit rollenbasierter Freigabelogik, PWA-Grundlage und Docker-Setup. ## Stack - Next.js 14 mit App Router und TypeScript - MUI 6 fuer Material Design 3 - Prisma + PostgreSQL - NextAuth Credentials Login - Docker Compose fuer lokalen Start ## Enthalten im MVP - Horizontale Budget-Dashboard-Ansicht pro AG - Budget-Fuellstand mit blasser/gefaerbter Visualisierung - Automatische Freigabe fuer Ausgaben unter 50 EUR - Drei digitale Freigaben fuer Ausgaben ab 50 EUR - Rollen `Admin`, `Finanz-AG`, `AG-Mitglied` - Admin-Formulare fuer Budgets und Nutzeranlage - Statusaktionen `Freigegeben`, `Bezahlt`, `Dokumentiert` - Demo-Accounts und Seed-Daten - PWA-Manifest und Service-Worker-Basis fuer Offline-Shell ## Lokaler Start 1. Optional `.env.example` nach `.env` kopieren und Werte anpassen. 2. Projekt starten: ```bash docker-compose up --build ``` 3. App oeffnen unter `http://localhost:3000` ## Demo-Accounts - `admin.a@raveforpeace.org` / `demo123!` - `admin.b@raveforpeace.org` / `demo123!` - `finance@raveforpeace.org` / `demo123!` - `deko@raveforpeace.org` / `demo123!` - `technik@raveforpeace.org` / `demo123!` ## Abnahmekriterien durchspielen 1. Als `admin.a@raveforpeace.org` anmelden und bei `AG Deko` ein Budget setzen, zum Beispiel `1200`. 2. Als `deko@raveforpeace.org` anmelden und eine Ausgabe ueber `60` EUR erfassen. 3. Als `admin.a@raveforpeace.org` wieder anmelden und `Freigeben als Vorstand A` klicken. 4. Als `admin.b@raveforpeace.org` anmelden und `Freigeben als Vorstand B` klicken. 5. Als `finance@raveforpeace.org` anmelden und die Finanzfreigabe setzen. 6. Nach der dritten Freigabe wird der Posten kraeftig dargestellt. 7. Danach `Bezahlt setzen` klicken, um den blauen Haken zu erhalten. ## Datenmodell - `users`: Nutzer mit Rolle, Login und optionaler AG-Zuordnung. - `working_groups`: AG-Name, Budget, Farbe - `expenses`: Betrag, Status, Bezahlt-/Dokumentiert-Zeitstempel, optionaler Beleg-Link. - `approvals`: Wer hat welche Signatur fuer welchen Posten gesetzt. ## Hinweise - Die Dokumentation eines Belegs ist im MVP als Beleg-URL umgesetzt. - Web-Push ist architektonisch vorbereitet ueber PWA-Grundlage, aber die eigentliche Push-Auslieferung ist noch nicht implementiert. - Fuer Produktion sollten `NEXTAUTH_SECRET`, Datenbank-Zugangsdaten und Reverse-Proxy/SSL sauber gesetzt werden.