Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Personal Finance Tracker Task Objective Develop a Personal Finance Tracker ( PFT ) in Python, incorporating various programming concepts and tools covered in the module.
Personal Finance Tracker
Task Objective
Develop a Personal Finance Tracker PFT in Python, incorporating various programming
concepts and tools covered in the module. This project will integrate complex data
structures, control statements, iterations, custom functions, various Python libraries, file
management, data visualization, graphical user interface GUI design, Python virtual
environment, and version control with Git and GitHub. Additional libraries or concepts may
be used, provided you can thoroughly explain and debug your code as needed.
Program Features
Initial Setup:
On startup, prompt for the user's name.
Open a main window titled "Personal Finance Tracker".
Display a personalized greeting.
Show the user's current account balance initialized at $
Present a summary of the last transaction initially empty including transaction ID type
income or expense category, amount, and date.
Transaction Management:
Include buttons for adding transactions.
Provide a "Summary" button to view transaction summaries.
Add a button to delete transactions.
Adding Transactions:
Clicking opens a new window titled "Add Transaction" and the user can choose between
"Income" and "Expenses".
For income, categories include: Salary, Pension, Interest, Others.
For expenses, categories include: Food, Rent, Clothing, Car, Health, Others.
Allow category selection from a dropdown menu, input of amount, transaction date, and
payee for expenses or source for income
Assign a unique digit random number as the transaction ID
Close the transaction window and update the main window such as the account
balance after each transaction is added.
Data Storage and Display:
Store all transactions in an appropriate data structure.
Update the main window with the latest transaction details.
Transaction Summary Dashboard:
The "Summary" button opens a new window titled "Dashboard".
This window provides transaction summaries and visualizations.
Features include:
View Transactions: Filter transactions by time range, class incomeexpense
category, and payeesource name. Put a show button to show the result on the window and
a Print button, a feature to write the displayed, filtered transactions to an external txt file.
Bar Chart: Visualize income or expenses in a bar chart by category, with the option
to filter by time range.
Pie Chart: Display income or expenses in a pie chart, showing the percentage per
category, with time range filtering options.
Transaction Deletion:
The "Delete Transaction" button opens a window listing all transactions.
Users can delete a transaction by selecting or typing its ID
Update the user's balance and last transaction summary on the main window accordingly.
Note
Ensure your program's GUI is userfriendly and intuitive.
Comment your code thoroughly for clarity and ease of understanding.
Be prepared to explain your code and reasoning during code reviews.
This task will assess your ability to apply and integrate different programming concepts in a
practical project. Your PFT should be robust, userfriendly, and efficient in managing
personal finance data
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started