Version: 2.0.0 Status: Production Ready Phase: 3 - Advanced Automation & Analytics
A comprehensive personal finance management application designed for South African users, featuring intelligent automation, budget tracking, debt management, and recurring transactions.
Experience FIN-DASH with realistic sample data - no setup required!
FIN-DASH includes a built-in Demo Mode that lets you explore all features with 6 months of realistic South African financial data:
- โ 600+ sample transactions from local merchants (Woolworths, Pick n Pay, Takealot, etc.)
- โ 4 accounts (FNB Checking, Capitec Savings, Standard Bank Credit Card, Nedbank Investment)
- โ 16 categories organized by needs/wants/savings
- โ 6 monthly budgets following the 50/30/20 rule
- โ 5 investments (South African stocks and ETFs)
- โ 6 recurring transactions (salary, rent, utilities, subscriptions)
- Start the application (see Quick Start below)
- Toggle Demo Mode using the switch in the top navigation bar
- Explore all features with realistic data
- Reset demo data anytime using the "Reset Demo" button in the banner
- Switch back to your real data by toggling Demo Mode off
Demo mode is perfect for:
- ๐ฏ Recruiters - See the full capabilities without setting up data
- ๐ Learning - Understand how to use the app before adding your own data
- ๐งช Testing - Try out features risk-free with sample data
Windows:
start.batDouble-click start.bat or run from Command Prompt.
Linux/Mac:
chmod +x start.sh # First time only
./start.shCross-Platform (Python):
python start.pyOnce started, open your browser to:
- Frontend: http://localhost:5173
- Backend API: http://127.0.0.1:8777
- API Docs: http://127.0.0.1:8777/docs
๐ For detailed startup instructions, see STARTUP_GUIDE.md
- โ Transaction Management (CRUD operations)
- โ Category Management (Needs/Wants/Savings/Debt)
- โ Account Management (Multiple accounts)
- โ Dashboard Summary (Real-time overview)
- โ Budget Tracking (50/30/20 rule)
- โ Goal Management (Savings goals with progress)
- โ CSV Import with Auto-Categorization (92% accuracy)
- โ Debt Management (Avalanche & Snowball calculators)
- โ Monthly Financial Reports (Automated insights)
- โ Recurring Transactions (Automated generation)
- โ Demo Mode (Realistic sample data for testing and exploration)
- โณ Multi-Currency Support
- โณ Investment Tracking
- โณ Data Export (PDF/Excel)
- โณ Enhanced Reporting
- ๐ฎ Demo Mode: Try it instantly with 6 months of realistic South African financial data
- ๐ฟ๐ฆ South African Focus: ZAR currency, local bank support (FNB, Capitec, Standard Bank, Nedbank, Absa)
- ๐ค Intelligent Automation: 92% auto-categorization, recurring transactions, automated scheduler
- ๐ Comprehensive Reporting: Monthly insights, budget performance, debt payoff plans
- ๐พ Local-First: CSV-based storage, no database required, offline-capable
- ๐จ Modern UI: React + TypeScript + Tailwind CSS + shadcn/ui
- โก Fast API: FastAPI backend with automatic documentation
- 52 API Endpoints (23 Phase 1 + 21 Phase 2 + 8 Phase 3)
- 15 UI Components (5 Phase 1 + 8 Phase 2 + 2 Phase 3)
- 11 Backend Services (Calculator, CSV Manager, Budget, Goal, Debt, Report, Recurring, Scheduler, etc.)
- 6 Frequency Types for recurring transactions (daily, weekly, biweekly, monthly, quarterly, yearly)
- 100% Test Coverage for all major features
Backend:
- FastAPI 0.104.1
- Uvicorn 0.24.0
- Pydantic 2.5.0
- python-dateutil 2.8.2
- APScheduler 3.10.4
Frontend:
- React 18.3.1
- TypeScript
- Vite
- TanStack React Query
- shadcn/ui
- Tailwind CSS
- Lucide Icons
Storage:
- CSV-based local storage
- No database required
URL: https://lovable.dev/projects/50ad44fb-0d15-4873-9632-292aa660ed46
There are several ways of editing your application.
Use Lovable
Simply visit the Lovable Project and start prompting.
Changes made via Lovable will be committed automatically to this repo.
Use your preferred IDE
If you want to work locally using your own IDE, you can clone this repo and push changes. Pushed changes will also be reflected in Lovable.
Requirements: Python 3.8+ and Node.js 16+ - install with nvm
Follow these steps:
# Step 1: Clone the repository using the project's Git URL.
git clone <YOUR_GIT_URL>
# Step 2: Navigate to the project directory.
cd <YOUR_PROJECT_NAME>
# Step 3: Start the application using the startup script
# Windows:
start.bat
# Linux/Mac:
chmod +x start.sh
./start.sh
# Or use Python script (cross-platform):
python start.pyManual Setup (if needed):
# Backend setup
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate.bat
pip install -r requirements.txt
python app.py
# Frontend setup (in a new terminal)
npm install
npm run devEdit a file directly in GitHub
- Navigate to the desired file(s).
- Click the "Edit" button (pencil icon) at the top right of the file view.
- Make your changes and commit the changes.
Use GitHub Codespaces
- Navigate to the main page of your repository.
- Click on the "Code" button (green button) near the top right.
- Select the "Codespaces" tab.
- Click on "New codespace" to launch a new Codespace environment.
- Edit files directly within the Codespace and commit and push your changes once you're done.
This project is built with:
- Vite
- TypeScript
- React
- shadcn-ui
- Tailwind CSS
Simply open Lovable and click on Share -> Publish.
Yes, you can!
To connect a domain, navigate to Project > Settings > Domains and click Connect Domain.
Read more here: Setting up a custom domain