Skip to content

Chandra-kanth-dev/Expense-tracker-python-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

Expense Tracker

Project Overview

The Expense Tracker is a Python-based CLI application that helps users manage their personal expenses efficiently. It allows tracking users, categories, expenses, and monthly summaries. The system automatically updates monthly summaries whenever an expense is added, updated, or deleted, helping users monitor savings and expenditures.

Features

  • User Management: Add, update, delete, and list users.
  • Category Management: Add, delete, and list expense categories.
  • Expense Management: Add, update, delete, and view expenses.
  • Monthly Summaries: Automatically calculates total expenses, savings, and salary tracking for each month.
  • Menu-Driven : Easy-to-use menu for all operations.
  • Error Handling: Prevents invalid input, duplicate entries, and ensures proper validation.

Technology Stack

  • Language: Python 3.10+
  • Database: Supabase (PostgreSQL)
  • Architecture: Layered design with Service Layer, DAO Layer, and CLI
  • Key Libraries: datetime, typing

Folder Structure

expense_tracker/ │ ├─ src/ │ ├─ init.py │ ├─ main.py │ ├─ config/ │ │ └─ supabase_client.py │ ├─ dao/ │ │ ├─ users_dao.py │ │ ├─ categories_dao.py │ │ ├─ expense_dao.py │ │ └─ monthly_summary_dao.py │ └─ service/ │ ├─ users_service.py │ ├─ category_service.py │ ├─ expense_service.py │ └─ monthly_summary_service.py

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/expense-tracker.git
cd expense-tracker


Install dependencies:
pip install -r requirements.txt

Set up Supabase credentials in src/config/supabase_client.py.

Usage

Run the CLI application:
python -m src.main


Navigate through menus to manage users, categories, expenses, and monthly summaries.
All changes to expenses automatically reflect in the monthly summaries.

Example Workflow:
Add a new user.
Add categories (Food, Transport, Bills, etc.).
Add expenses for the user under specific categories.
View monthly summaries to see total expenses and savings.

Future Enhancements:
GUI/Web App for a better user experience.
Multi-user and multi-store support.
Real-time dashboards with charts and reports.
Integration with payment gateways.

Author

Your Name – Bandi Chandra Kanth
linked in:https://www.linkedin.com/in/bandi-chandra-kanth-b0b145338

License

This project is licensed under the MIT License.

database_schema source:
 src="https://github.com/user-attachments/assets/ae2a9200-096e-42d3-9e9f-9d99199b4989" 

document_link:
https://docs.google.com/document/d/1CJwOJ1H5DllR8T1y266VlSpBNI3kp1js60DgJbM1o9g/edit?usp=sharing

About

a python project that uses supabase database and adds interactivity to clients to track their expenses

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages