Initial commit

This commit is contained in:
Jan
2026-04-08 16:30:44 +02:00
commit f9b17e9964
65 changed files with 7574 additions and 0 deletions

65
README.md Normal file
View File

@@ -0,0 +1,65 @@
# RFP Finanzübersicht
Material-3-orientierter MVP fuer 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.