Skip to content

Developed an Expense Management System using Python, Streamlit, and FastAPI. This app tracks daily expenses, analyzes spending by category/month, and replaces traditional spreadsheets with interactive visualizations.

Notifications You must be signed in to change notification settings

shellynagar27/Expense-Tracker-Creation-using-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expense Management System

I built this project by following Python: Beginner to Advanced For Data Professionals by CodeBasics
linkedin Post

Project Description

This project is an expense management system that consists of a Streamlit frontend application and a FastAPI backend server.
With help of this tracker you can add, update (delete or replace) your expenses on daily basis and can analyze them by category and month to get complete overview of the spending.

Features

  • Add/Update - for adding and updating data Adding-ezgif com-optimize Viewing-ezgif com-video-to-gif-converter

  • Analytics by Category - for visualizing spending by categoryAnalyticsbyCategory-MadewithClipchamp1-ezgif com-gif-to-mp4-converter

  • Analytics by Month - for visualizing spending by month Screenshot 2024-10-10 021726

Project Structure

  • frontend/: Contains the Streamlit application code.
  • backend/: Contains the FastAPI backend server code.
  • tests/: Contains the test cases for both frontend and backend.
  • requirements.txt: Lists the required Python packages.
  • README.md: Provides an overview and instructions for the project.

Setup Instructions

To use this project, you first need to install the required dependencies. Follow these steps:

  1. Clone the repository:
    git clone https://github.com/shellynagar27/Expense-Tracker-Creation-using-Python.git
    cd Expense-Tracker-Creation-using-Python
  2. Install dependencies::
     pip install -r requirements.txt
    
  3. Make changes to get_db_cursor function in db_helper.py file available in backend folder::
     host='Enter host name as per your systsm MySQL'
     password ='Enter MySQL password'
    
  4. Run the FastAPI server::
     uvicorn server.server:app --reload
    
  5. Run the Streamlit app::
     streamlit run frontend/app.py
    

Key Learnings:

  • Professional project structure and best practices for full-stack development.
  • MySQL integration with Python and FastAPI for backend operations.
  • Logging setup to track system changes and errors.
  • Efficient memory usage with pydantic and code reusability using decorators.
  • Building an interactive web app using Streamlit and connecting with backend services.

Contact

About

Developed an Expense Management System using Python, Streamlit, and FastAPI. This app tracks daily expenses, analyzes spending by category/month, and replaces traditional spreadsheets with interactive visualizations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages