The Budget Planner is a Python-based application designed to help you manage your budget by adding, viewing, updating, deleting budget items, and generating a PDF report. It stores budget data in a JSON file and uses the ReportLab library to generate the PDF report.
- Add Budget Item: Add a new budget item with name, category, amount, and date.
- View Budget: Display all budget items.
- Delete Budget Item: Remove a budget item by its index.
- Update Budget Item: Update the details of an existing budget item.
- Generate PDF Report: Create a PDF report of the budget items.
- Clone the repository:
git clone https://github.com/MuhammadUmer78/Budget-Planner.git
- Change to the project directory:
cd Budget-Planner
- Install the required dependencies:
pip install -r requirements.txt
To run the Budget Planner application, use the following command:
python budget_planner.py
- Add Budget Item: Add a new item to the budget.
- View Budget: Display the current list of budget items.
- Delete Budget Item: Remove an item from the budget by its index.
- Update Budget Item: Update the details of an existing budget item by its index.
- Generate PDF Report: Create a PDF report of the current budget items.
- Exit: Exit the application.
Choose an option: 1
Enter the name of the item: Groceries
Enter the category: Food
Enter the amount: 100.50
Choose an option: 2
1. Groceries - Food - 100.5 - 2024-07-10
Choose an option: 3
Enter the index of the item to delete: 1
Choose an option: 4
Enter the index of the item to update: 1
Enter the new name (or leave blank to keep current):
Enter the new category (or leave blank to keep current):
Enter the new amount (or leave blank to keep current): 150.75
Enter the new date (or leave blank to keep current):
Choose an option: 5
- json: For handling JSON data.
- datetime: For managing date and time.
- reportlab: For generating PDF reports.
Install ReportLab with:
pip install reportlab
This project is licensed under the MIT License. See the License file for details.
Contributions are welcome! Please create a pull request or submit an issue for any bugs or feature requests.