For Project 0, you will be building a console-based banking application. Presentation date: August 26th, 2020
As a user, I can:
- register a new user account with the system (must be secured with a password)
- login with my existing credentials
- create at least one account
- deposit funds into an account (use doubles, not ints)
- withdraw funds from an account (no overdrafting!)
- view the balance of my account(s) (all balance displays must be in currency format)
As a user I can:
- view the transaction history for an account
- create multiple accounts per user (checking, savings, etc.)
- share a joint account with another user
- transfer money between accounts
- Basic validation (no negative deposits/withdrawals, no overdrafting, etc.)
- All exceptions are properly caught and handled
- Proper use of OOP principles
- Documentation (all classes and methods have basic documentation)
- Unit testing (>= 80% coverage of service layer)
- SQL Data Persistance (at least 3 tables; all 3NF (normal form))
- Unit tests for persistance-layer classes
- Logging messages and exceptions to a file
- Java 8
- Apache Maven
- PostGreSQL deployed on AWS RDS
- JUnit
- Mockito
- Git SCM (on GitHub)
- Create a new repository within this organization (naming convention:
firstname_lastname_p0)
- finalized version of application must be pushed to personal repository within this organization by the presentation date
- 5 minute live demonstration of the implemented features