Skip to content

manaschakrabortty/Personal--Finance--Tracker-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal--Finance--Tracker

Overview of the Project:

My project is a Personal--Finance--Tracker designed to help users track their income and expenses. The tool is especially useful for students and individuals who may overlook smaller, day-to-day expenses, which add up over time. It allows users to log transactions, view them within a specified date range, and visualize their financial data, making budgeting more transparent. The motivation for this project came from personal experiences and feedback from friends who struggled with financial awareness.

Tech Stack and Why I Chose It:

  1. Python: Python is an accessible, high-level language that has strong libraries for data handling and visualization. Its versatility made it the best choice for a project involving file operations, data management, and plotting.

  2. pandas: Why: pandas excels at data manipulation and analysis. It offers fast, flexible, and expressive data structures, making it ideal for reading, filtering, and processing financial transactions. Usage: I used pandas to manage CSV files, filter transactions based on date, and calculate summaries like total income, expenses, and savings.

  3. CSV Module: Why: Since CSV files are lightweight and human-readable, they are a practical choice for storing financial data without the complexity of a full database. Usage: I used the csv module to append new transaction entries to a file and ensure data persistence.

  4. matplotlib: Why: matplotlib is widely used for data visualization in Python. It provides extensive customization options for creating 5. detailed plots. Usage: I used it to plot income and expense trends over time, which helps users visually track their financial progress.

  5. datetime Module: Why: This module helps in managing date formats and comparisons, crucial for filtering transactions by date ranges. Usage: It ensures that user input is converted into a proper date format, making it easier to perform operations like filtering and date-based plotting.

Main Features :

  1. Initialization of CSV File: The tool checks if the CSV file exists and creates it if necessary. This ensures a smooth experience for the user without file errors. It ensures data persistence and prevents the program from crashing when the CSV file doesn’t exist 2.Adding a New Entry: The add_entry function appends a new transaction (with date, amount, category, and description) to the CSV file. This ensures new transactions are saved efficiently without overwriting existing data. 3.Fetching and Filtering Transactions: This function allows users to get transactions within a specified date range and calculates a financial summary (income, expense, net savings). This provides users with control over how they view their financial history, helping them analyze specific periods.
  2. Plotting Transactions: The plot_transaction function visualizes income and expense trends using matplotlib. Visualizing financial data provides an intuitive way to understand income and expenses, making it easier for users to budget.

Future Enhancements for This Project: To make my project more advanced and feature-rich, working on integrate additional features and use more robust systems for data storage, such as MySQL or MongoDB.

working on--

1.Database Integration.

2.Budget Alerts.

3.Advanced Visualization.

4.Mobile or Web Interface. Screenshot 2024-10-18 102135

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages