Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Create a Python project that essentially - registers multiple users with different spending types, allows ability to manually input spending transactions, and stores this data

Create a Python project that essentially - registers multiple users with different spending types, allows ability to manually input spending transactions, and stores this data with regards to their specific set budgets.

On startup, the user (a parent) must register their child's financial details. This includes:

The users name, Age, User Type, Bank Account number, Bank Name, Bank Balance, their budgets.

Each child that is being monitored is assigned the following budget categories. The exact value of each budget is assigned when registering the child as a user.

Games and Entertainment, Clothing and Accessories, Eating Out, Miscellaneous

Record Transactions

The application should maintain a collection of transactions which represent money going out of the users bank account. Provide the user an option to enter transaction details. Each transaction should contain the following information:

The timestamp the transaction was recorded (a nicely formatted datetime value).

The dollar amount (positive, non-zero number).

The budget category that this transaction belongs to. (Provide them with a list of categories and ask them to select one.)

The name of the shop/website where the purchase took place. (The user should not be allowed to record a transaction if the transaction would cause their bank balance to go below zero. Additionally, the system should subtract the required amount from the users bank balance once a transaction has been recorded.)

Depending on the type of user, after a transaction has been recorded your system will want to perform checks to see if a warning or notification should be issued. A list of transactions that have taken place in a budget category should be printed out to the console if:

The user receives a warning that they are getting close to exceeding their assigned budget for the category in question

The user receives a notification that they have exceeded their assigned budget for the category in question. The transactions printed should be the transactions pertaining to the budget category in question. That is, if the user gets a warning that they are about to exceed their budget for "Games and Entertainment", then any transactions belonging to this category should be printed for review.

Lock Out

The app has the ability to lock a user out of recording transactions (and effectively spending any money) based on certain conditions as specified by their User Type. If a user has been locked from a budget category:

They should be notified of this via a console message.

Any attempt at recording transactions in the affected budget category should be denied.

User Types - The app provides different moderation levels for each user type.

The Angel:

Never gets locked out of a budget category. They can continue spending money even if they exceed the budget in question.

Gets politely notified if they exceed a budget category.

Gets a warning if they exceed more than 90% of a budget.

The Troublemaker:

Gets a warning if they exceed more than 75% of a budget category.

Gets politely notified if they exceed a budget category.

Gets locked out of conducting transactions in a budget category if they exceed it by 120% of the amount assigned to the budget in question.

The Rebel:

They get a warning for every transaction after exceeding 50% of a budget.

Gets ruthlessly notified if they exceed a budget category.

Gets locked out of conducting transactions in a budget category if they exceed it by 100% of the amount assigned to the budget in question.

If they exceed their budget in 2 or more categories then they get locked out of their account completely

Once the user account is set up and the budgets have been created, the system should prompt the user with the following menu options:

Main Menu

1 - Registering a User

2 - Login

3 - Exit

// If they choose login, it will show the list of users that have been registered

Login Menu

1 - Joe (Rebel)

2 - Jill (Angel)

3 - Jorge (Troublemaker)

4 - Back to Main Menu

User Menu

1 - View Budget

2 - Record a Transaction

3 - View Transactions by Budget

4 - View Bank Account Details

5 - Log Out

1. View Budgets: Selecting this option should show the user the current status of their budgets (locked or not) in addition to the amount spent, amount left, and the total amount allocated to the budget.

2. Record a Transaction: This should take the user to a sub-menu where they are prompted to enter the transaction details (refer to the "Record Transactions" heading below).

3. View Transactions by Budget: This should take the user to a sub-menu where they select their budget category and view all the transactions to date in that category.

4. View Bank Account Details: The application should print out the bank account details of the user and all transactions conducted to date alongside the closing balance.

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

Step: 3

blur-text-image

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

Database Design Application And Administration

Authors: Michael Mannino, Michael V. Mannino

2nd Edition

0072880678, 9780072880670

More Books

Students also viewed these Databases questions

Question

Can I verify the credibility and accuracy of this source?

Answered: 1 week ago

Question

3. Review the evidence. Do you believe the testimony presented?

Answered: 1 week ago

Question

1. What are the marketing implications of this situation?

Answered: 1 week ago