Skip to content

samarth-ah/Expense-Tracking-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Expense Tracking System πŸ’°πŸ“Š

A full-stack Expense Tracking System built using FastAPI, Streamlit, and MySQL.
This application allows users to add daily expenses, update them, and visualize category-wise expense analytics over a selected date range.


πŸš€ Features

  • Add or update daily expenses
  • Store expenses in a MySQL database
  • View expenses by date
  • Analyze expenses by category
  • Percentage-based expense breakdown
  • Interactive UI using Streamlit
  • REST APIs powered by FastAPI

πŸ› οΈ Tech Stack

  • Backend: FastAPI\
  • Frontend: Streamlit\
  • Database: MySQL\
  • DB Connector: mysql-connector-python\
  • Data Handling: Pandas\
  • API Calls: Requests

πŸ“‚ Project Structure

expense-tracker/
β”‚
β”œβ”€β”€ server.py
β”œβ”€β”€ db_helper.py
β”œβ”€β”€ app.py
β”œβ”€β”€ add_update_ui.py
β”œβ”€β”€ analytics_ui.py
β”œβ”€β”€ logging_setup.py
β”œβ”€β”€ conftest.py
β”œβ”€β”€ requirements.txt
└── README.md

πŸ—„οΈ Database Setup

CREATE DATABASE expense_manager;

USE expense_manager;

CREATE TABLE expenses (
    id INT AUTO_INCREMENT PRIMARY KEY,
    expense_date DATE NOT NULL,
    amount FLOAT NOT NULL,
    category VARCHAR(50),
    notes VARCHAR(255)
);

▢️ Running the Application

Start Backend

uvicorn server:app --reload

Start Frontend

streamlit run app.py

πŸ“œ License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages