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.
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.
● 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