SpreadSheets600 / Budget-Tracker

Project I Want To Do - FR
8 stars 37 forks source link
beginer beginer-friendly beginer-projects budget budget-app budget-manager budgeting hacktoberfest hacktoberfest2024 newbie python

Budget Tracker

Overview

Originally a half-yearly CS group project where (almost) no one contributed, this Budget Tracker has transformed into an ambitious project that I now aim to complete with friends (again, this time for real!). The goal is to create a functional, user-friendly budget tracker that helps people manage their income, expenses, and financial goals efficiently.

This project is a part of Hacktoberfest, and we're welcoming contributions! Whether it's bug fixes, new features, or improvements, there's room for everyone to help!


Features


Getting Started

Prerequisites

Installation

  1. Clone the repository:
    git clone https://github.com/your-github-username/budget-tracker.git
  2. Install the necessary dependencies:
    pip install -r requirements.txt
  3. Run the application:
    python src/Main.py

Contributing

We welcome contributions! Please see our Contributing Guidelines and Code of Conduct for more details.

Thanks To All Our Contributors


To-Do List

Core Functionalities

  1. [ ] Fix the Visuals: Improve the UI/UX, adjust layout, and ensure the design is clean and user-friendly.
  2. [X] Fix Visualization Tab: Ensure that charts (bar, line, pie) display properly without overlapping or layout issues.
  3. [ ] Work on Lendings Tab: Add a feature where users can track money lent to others, with options to set deadlines and reminders.
  4. [ ] Work on Borrowing Tab: Implement a tab to track loans or borrowed amounts, including deadlines and reminders.
  5. [X] Make Data Permanent: Enhance the database functionality to ensure persistent data storage, so users can retrieve past transactions after restarting the app.
  6. [X] Replace Tkinter with CustomTkinter: Enhance the look and feel of the app by integrating CustomTkinter for modern, polished widgets.

Enhancements

  1. [X] User Authentication: Add basic login functionality to allow different users to manage their accounts separately.
  2. [ ] Currency Conversion: Implement a feature to convert between currencies, pulling exchange rates from an API.
  3. [ ] Recurring Transactions: Enable users to set recurring transactions (monthly bills, salary, etc.) that auto-log at set intervals.
  4. [ ] Export Data: Allow users to export their data (income, expenses, goals) to CSV or Excel format for easier analysis.
  5. [X] Add Notifications: Implement a system to notify users when they exceed budget limits or reach savings goals.
  6. [ ] Mobile App Version: Plan and develop a mobile version (possibly using Kivy or other frameworks).

License

This project is licensed under the MIT License - see the LICENSE file for details.