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!
- Add Income & Expenses: Users can easily log their income and expenses, categorize them, and store them in an SQLite database.
- Financial Goals: Set savings goals, track progress, and visualize how close you are to achieving them.
- Visualizations: Bar charts, pie charts, and line graphs provide a clear picture of your financial habits.
- Summary & Analysis: View detailed summaries and analysis of your spending habits and overall budget health.
- Python 3.x
- Tkinter
- SQLite3
- Matplotlib
- Clone the repository:
git clone https://github.com/your-repo/budget-tracker.git
- Install the necessary dependencies:
pip install matplotlib customtkinter db-sqlite3
- Run the application:
python App.py
We welcome contributions! Here's how you can get started:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Make your changes and commit them:
git commit -m "Add new feature"
- Push your changes:
git push origin feature-name
- Create a pull request on GitHub.
- Fix the Visuals: Improve the UI/UX, adjust layout, and ensure the design is clean and user-friendly.
- Fix Visualization Tab: Ensure that charts (bar, line, pie) display properly without overlapping or layout issues.
- Work on Lendings Tab: Add a feature where users can track money lent to others, with options to set deadlines and reminders.
- Work on Borrowing Tab: Implement a tab to track loans or borrowed amounts, including deadlines and reminders.
- Make Data Permanent: Enhance the database functionality to ensure persistent data storage, so users can retrieve past transactions after restarting the app.
- Replace Tkinter with CustomTkinter: Enhance the look and feel of the app by integrating
CustomTkinter
for modern, polished widgets.
- User Authentication: Add basic login functionality to allow different users to manage their accounts separately.
- Currency Conversion: Implement a feature to convert between currencies, pulling exchange rates from an API.
- Recurring Transactions: Enable users to set recurring transactions (monthly bills, salary, etc.) that auto-log at set intervals.
- Export Data: Allow users to export their data (income, expenses, goals) to CSV or Excel format for easier analysis.
- Add Notifications: Implement a system to notify users when they exceed budget limits or reach savings goals.
- Mobile App Version: Plan and develop a mobile version (possibly using Kivy or other frameworks).
This project is licensed under the MIT License - see the LICENSE file for details.