Spending, Earnings, & Resources View Engine — a Django + React web application for processing and consolidating financial transaction data from multiple banks and credit cards.
- Follow the setup guide to configure your workstation.
cd backend && python manage.py runserverto start the API server.cd frontend && pnpm devto start the frontend.- Open http://localhost:5173 in your browser.
PRs welcome for bug fixes and improvements. See the setup guide for how to get your environment running.
The Django REST API, responsible for:
- User accounts and household management
- Bank, account type, and account configuration
- CSV transaction imports with automatic bank detection
- Duplicate prevention via SHA-256-based dedupe hashes on transaction data
- Label and category preservation across re-imports
Built with Django Ninja for fast, type-safe endpoints, backed by MySQL.
The React application, responsible for:
- Household and account management UI
- Transaction browsing and labeling
- CSV upload interface
Built with React + TypeScript + Vite.
Developer utilities, including git hooks that enforce linting on staged files and block direct commits to main.
serve/
├── backend/
│ ├── config/ # Django settings and URL routing
│ ├── users/ # CustomUser and Household models
│ └── transactions/ # Core transaction logic, API, handlers
├── frontend/
│ └── src/ # React + TypeScript application
├── requirements/ # Python dependencies
└── scripts/ # Git hooks and dev tooling
Licensed under CC BY-NC 4.0. You are free to use, modify, and share this project with attribution, provided it is not used for commercial purposes.