>Computer Science homework help

Description:

The Bank app is a console-based application that simulates banking operations. A customer can apply for an account, view their balance, and make withdrawals and deposits. An employee can approve or deny accounts and view account balances for their customers.

Purpose:

We want to see that you can meet deadlines and that you can code. You are expected to complete the following requirements and give a 5 minute presentation of your project.

Requirements:

● Build the application as a Maven project using Java 8

● All interaction with the user should be done through the console using the Scanner class

● Customers of the bank should be able to register with a username and password, and apply to open an account.

o Customers should be able to apply for joint accounts

● Once the account is open, customers should be able to withdraw, deposit, and transfer funds between accounts

o All basic validation should be done, such as trying to input negative amounts, overdrawing from accounts etc.

● Employees of the bank should be able to view all of their customers information. This includes:

o Account information

o Account balances

o Personal information

● Employees should be able to approve/deny open applications for accounts

● Bank admins should be able to view and edit all accounts. This includes:

o Approving/denying accounts

o withdrawing, depositing, transferring from all accounts

o canceling accounts

● All information should be persisted using text files and serialization via Object Input/Output Stream

● 100% test coverage is expected using J-Unit

o You should be using TDD

● Logging should be accomplished using Log4J

o All transactions should be logged