Skip to content

bilgenurpala/finance-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’° FinTrack

A full-stack personal finance management application with a professional dark SaaS dashboard, JWT authentication, AI-powered insights, and real-time investment tracking.

Python Flask SQLite Claude AI JWT License


πŸ“‹ Table of Contents


πŸ” Overview

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.


πŸ“Έ Screenshots

Dashboard

Dashboard

Analytics

Analytics

Budget

Budget

Investments

Investments

Categories

Categories

AI Assistant

AI Assistant

AI Spending Analysis

AI Analysis

AI Savings Tips

AI Savings


✨ Features

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

πŸ“ Project Structure

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

βš™οΈ Installation

1. Clone the repository

git clone https://github.com/bilgenurpala/finance-tracker.git
cd finance-tracker

2. Install dependencies

py -m pip install -r requirements.txt

3. 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.com

4. Run the application

py app.py

Then open http://127.0.0.1:5000 in your browser.


πŸš€ Usage

Getting Started

  1. Navigate to http://127.0.0.1:5000
  2. Click Get Started to create an account
  3. Log in and access your personal dashboard

Web 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

AI Assistant

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"

πŸ› οΈ Tech Stack

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

πŸ—ΊοΈ Roadmap

  • 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

πŸ“„ License

This project is licensed under the MIT License.

About

A Python-based personal finance management application with income/expense tracking, budget goals, and real-time investment portfolio tracking.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages