Full-stack app to upload bank statements, extract transactions, categorize spending with local LLMs, and explore financial insights through dashboards and chat.
frontend/- Next.js app for authentication, uploads, dashboards, jobs, transaction management, and chat UI.backend/- FastAPI API for auth, statement processing, background jobs, analytics, embeddings, and storage.
Detailed docs:
- Frontend: frontend/README.md
- Backend: backend/README.md
frontendsends authenticated requests tobackend.backendstores app data in PostgreSQL.- File assets (uploaded PDFs and markdown artifacts) are stored in MinIO (S3-compatible).
- Background processing runs through RQ + Redis.
- Embeddings are stored/retrieved from ChromaDB.
- Ollama powers extraction/categorization and chat responses.
- Start infrastructure services:
docker compose -f docker-compose.infra.yml up
- Run backend in one terminal:
- Follow
backend/README.mdfor venv, migrations, API server, and worker.
- Follow
- Run frontend in another terminal:
- Follow
frontend/README.mdfor install and dev server.
- Follow
To run the full stack via Docker (including app services), use:
docker compose up- Root
.env.examplecontains sample environment variables. - Copy to
.envand adjust values for your machine/services.
- Backend default local URL:
http://localhost:8000 - Frontend default local URL:
http://localhost:3000 - Frontend expects backend running locally unless configured otherwise.