A web-based expense management application built with Python, Flask, SQLite, HTML, CSS, and Chart.js. It allows users to record expenses, organize them by category, view spending totals, and visualize expense distribution.
- Add expenses with title, amount, category, and date
- View all recorded expenses
- Delete expenses
- Calculate total spending
- Categorize expenses
- Category-wise spending analysis
- Interactive spending distribution chart
- Persistent data storage using SQLite
- Backend: Python, Flask
- Database: SQLite
- Frontend: HTML, CSS, JavaScript
- Visualization: Chart.js
- Templating: Jinja2
expense-tracker/
│
├── app.py
├── expenses.db
│
├── templates/
│ └── index.html
│
├── static/
│ └── style.css
│
└── venv/
Follow these steps to run this project locally.
- Python 3.8 or later
- pip (included with Python)
git clone <your-repo-url>
cd expense-trackerpython -m venv venv# Linux / macOS
source venv/bin/activate# Windows
venv\Scripts\activatepip install flaskpython app.pyOpen http://127.0.0.1:5000 in your browser.
Note: The SQLite database (
expenses.db) is created automatically the first time the app runs.