Skip to content

shouviksarkar123/Expense-Tracking-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 

Repository files navigation

💰 Expense Tracking System

A full-stack personal expense tracking application built using Streamlit (Frontend), FastAPI (Backend), and MySQL (Database).

The system allows users to add, view, delete, and analyze expenses through an interactive dashboard with dynamic charts and analytics.


🚀 Features

  • Add multiple expenses per day with category and notes
  • View and manage expenses by date
  • Delete expenses (individual or bulk)
  • Interactive dashboard with:
  • 📊 Pie chart (Category-wise breakdown)
  • 📈 Bar chart (Monthly spending trend)
  • Daily percentage change analysis
  • Clean and user-friendly UI
  • Auto-refresh and reset functionality

🛠️ Tech Stack

Layer Technology
Frontend Streamlit
Backend FastAPI
Database MySQL
Visualization pandas, matplotlib

📂 Project Structure


project-expense-tracking/
│
├── backend/
│   ├── server.py
│   ├── db_helper.py
│   └── server.log
│
├── frontend/
│   ├── app.py
│   ├── insert.py
│   ├── view_manage.py
│   ├── dashboard.py
│   └── analytics.py
│
├── images/
├── requirements.txt
├── test/
└── README.md


⚙️ Setup Instructions

1️⃣ Clone the Repository

git clone https://github.com/shouviksarkar123/project-expense-tracking.git
cd project-expense-tracking

2️⃣ Install Dependencies

pip install -r requirements.txt

3️⃣ Setup MySQL Database

Create a database (e.g., expense_db) and run:

CREATE TABLE expenses (
  id INT AUTO_INCREMENT PRIMARY KEY,
  expense_date DATE,
  amount DECIMAL(10,2),
  category VARCHAR(50),
  notes TEXT
);

Update MySQL credentials inside db_helper.py.


▶️ Running the Project

🔹 Start FastAPI Backend

cd backend
uvicorn server:app --reload

🔹 Start Streamlit Frontend

cd frontend
streamlit run app.py

📊 Dashboard Preview

🥧 Analytics Dashboard - Demo 1

Analytics Demo 1

📈 Analytics Dashboard - Demo 2

Analytics Demo 2

🖥️ Frontend UI

Frontend UI

🔮 Future Improvements

  • User Authentication
  • Export data as CSV / Excel
  • Monthly budget alerts
  • Deployment on cloud (AWS / Render)

👨‍💻 Author

Shouvik Sarkar

📜 License

This project is licensed under the MIT License.

You are free to use, modify, and distribute this software for personal and commercial purposes.

© 2025 Shouvik Sarkar

About

A full-stack Expense Management System built using **Streamlit (Frontend)** and **FastAPI (Backend)** with MySQL database integration. This application allows users to manage daily expenses efficiently with a responsive UI and REST API backend.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages