Answered step by step
Verified Expert Solution
Link Copied!

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
1. 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 $0).
- Present a summary of the last transaction (initially empty) including transaction ID, type
(income or expense), category, amount, and date.
2. Transaction Management:
- Include buttons for adding transactions.
- Provide a "Summary" button to view transaction summaries.
- Add a button to delete transactions.
3. 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 drop-down menu, input of amount, transaction date, and
payee (for expenses) or source (for income).
- Assign a unique 4-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.
4. Data Storage and Display:
- Store all transactions in an appropriate data structure.
- Update the main window with the latest transaction details.
5. 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 (income/expense),
category, and payee/source 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.
6. 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 user-friendly 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, user-friendly, and efficient in managing
personal finance data

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Essential SQLAlchemy Mapping Python To Databases

Authors: Myers, Jason Myers

2nd Edition

1491916567, 9781491916568

More Books

Students also viewed these Databases questions

Question

What types of intervention do your different clients need from you?

Answered: 1 week ago