A full-stack personal finance management application with a professional dark SaaS dashboard, JWT authentication, AI-powered insights, and real-time investment tracking.
FinTrack is a personal finance application that helps you manage income, expenses, budgets, and investments in one place. It features a professional dark-themed SaaS dashboard with interactive Chart.js visualizations, JWT-based user authentication, and an AI assistant powered by the Claude API for spending analysis, savings tips, and natural language transaction parsing.
| Feature | Description |
|---|---|
| π Authentication | JWT-based register, login and logout with bcrypt password hashing |
| πΈ Transactions | Add, edit, delete income & expense records |
| ποΈ Categories | Organize transactions by custom categories |
| π― Budget Goals | Set monthly spending limits with progress tracking |
| π Charts | Interactive Chart.js visualizations across all pages |
| π Investments | Track BIST, NYSE/NASDAQ and crypto portfolios in real-time |
| π€ AI Assistant | Claude-powered spending analysis, savings tips & natural language input |
| π¬ Natural Language | Add transactions by typing plain text ("spent 150 TL on groceries") |
| π Landing Page | Professional marketing page with hero, features and screenshots |
finance-tracker/
βββ data/
β βββ finance.db
βββ src/
β βββ models/
β β βββ database.py
β β βββ category.py
β β βββ transaction.py
β β βββ budget.py
β βββ services/
β β βββ transaction_service.py
β β βββ budget_service.py
β β βββ recurring_service.py
β β βββ auth_service.py
β β βββ ai_service.py
β βββ reports/
β β βββ charts.py
β βββ investments/
β βββ stock_tracker.py
βββ web/
β βββ templates/
β β βββ base.html
β β βββ landing.html
β β βββ login.html
β β βββ register.html
β β βββ index.html
β β βββ summary.html
β β βββ budget.html
β β βββ investments.html
β β βββ categories.html
β β βββ ai.html
β βββ static/
β β βββ css/style.css
β β βββ js/main.js
β β βββ screenshots/
β βββ __init__.py
β βββ routes.py
βββ app.py
βββ main.py
βββ config.py
βββ requirements.txt
βββ README.md
1. Clone the repository
git clone https://github.com/bilgenurpala/finance-tracker.git
cd finance-tracker2. Install dependencies
py -m pip install -r requirements.txt3. Configure API key
Create a config.py file in the root directory:
import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
DATABASE_PATH = os.path.join(BASE_DIR, "data", "finance.db")
CURRENCY = "TL"
SECRET_KEY = "your-secret-key-here"
ANTHROPIC_API_KEY = "your-api-key-here" # Get from console.anthropic.com4. Run the application
py app.pyThen open http://127.0.0.1:5000 in your browser.
- Navigate to
http://127.0.0.1:5000 - Click Get Started to create an account
- Log in and access your personal dashboard
Use the sidebar to navigate all features:
- Dashboard β Monthly stats, income vs expense chart, category breakdown
- Analytics β Monthly summary with interactive charts
- Budget β Set and track budget goals with progress bars and charts
- Investments β Add and track BIST, NYSE/NASDAQ, and crypto portfolios with P&L charts
- Categories β Manage income and expense categories
- AI Assistant β Claude-powered spending analysis, savings tips, and natural language transaction input
Navigate to /ai to use AI features:
- Spending Analysis β Detailed monthly breakdown with insights
- Savings Tips β Personalized recommendations based on your data
- Natural Language Input β Type transactions in plain text:
"spent 200 TL on groceries today""received 5000 TL salary"
| Tool | Purpose |
|---|---|
| Python 3.12 | Core language |
| Flask | Web framework |
| SQLite | Local database |
| Flask-JWT-Extended | JWT authentication |
| bcrypt | Password hashing |
| Jinja2 | HTML templating |
| Chart.js | Interactive charts |
| Claude API | AI spending analysis & NLP |
| Anthropic SDK | Claude API client |
| yfinance | Real-time stock & crypto prices |
| Rich | Terminal UI |
| Matplotlib | Terminal charts |
- Terminal application
- Flask web interface
- Professional dark SaaS dashboard
- Interactive Chart.js visualizations
- Real-time investment tracking with P&L
- AI-powered spending analysis (Claude API)
- Natural language transaction input
- Landing page
- User authentication (JWT + bcrypt)
- Multi-currency support
- Export to CSV/PDF
This project is licensed under the MIT License.