42 lines
1.4 KiB
Markdown
42 lines
1.4 KiB
Markdown
# Finanz-Dashboard
|
|
|
|
Persönliche Finanz-Verwaltungs-App (Single-User) mit **Vite + React + Convex**.
|
|
|
|
## Start
|
|
|
|
```bash
|
|
npm install
|
|
npx convex dev # Backend + .env.local (VITE_CONVEX_URL)
|
|
npm run dev # Frontend (separates Terminal)
|
|
# oder kombiniert:
|
|
npm run dev:all
|
|
```
|
|
|
|
Erstlogin: Registrieren auf `/login` → `ensureSeeded` legt Standard-Kategorien und Einstellungen an.
|
|
|
|
## Convex Secrets
|
|
|
|
```bash
|
|
npx convex env set COMDIRECT_CLIENT_ID "…"
|
|
npx convex env set COMDIRECT_CLIENT_SECRET "…"
|
|
npx convex env set OPENAI_API_KEY "…"
|
|
npx convex env set SAVINGS_CHAT_MODEL "gpt-5.4-mini" # optional
|
|
```
|
|
|
|
Zugangsnummer und PIN werden **nur** pro Sync-Session eingegeben und nie gespeichert.
|
|
`SAVINGS_CHAT_MODEL` ist optional; bei Fehlen wird `gpt-5.4-mini` → `gpt-4.1-mini` → `gpt-4.1` als Fallback genutzt.
|
|
|
|
## Funktionen
|
|
|
|
- Dashboard mit KPIs, Charts, Monats-Basis (effective/booking)
|
|
- KI-Analyse: neuer Bereich „Talk to Savings“ unter `/talk`
|
|
- Transaktionen (paginiert, Filter, Bulk-Kategorisierung, Monatszuordnung)
|
|
- Kategorien-CRUD mit Seed-Kategorien (§5 Spezifikation)
|
|
- Kredite inkl. Tilgungsplan (keine Auto-Buchung als Transaktionen)
|
|
- CSV-Import (comdirect, ISO-8859-1) und comdirect-API-Sync via Convex Actions
|
|
- Einstellungen: Konten, ownNames, Gehalts-Folgemonat-Regel
|
|
|
|
## Tech-Stack
|
|
|
|
Vite, React 18+, TypeScript, Convex, `@convex-dev/auth` (Password), Tailwind, shadcn/ui, recharts, react-router-dom, papaparse, date-fns.
|