Contributors:
Mike Ninh (@MNinh),
Alena Litouka (@CodeHere21),
Xiong Yuan (@xyuan04),
Liam Becker (@liamkbecker)
Week 2 project: ATM Simulator
Every feature must have corresponding unit tests Tests should demonstrate proper behavior, and proper handling of misuse (eg. attempts to deposit/transfer/withdraw negative amounts
- User interface: CLI (Command line interface) Only
- Direct Input
- Numbered options (instead of on-screen buttons)
- ASCII art welcome but not required
- Must support account types:
- Checking
- Savings
- Investment
- Account Actions
- Withdraw from acct
- Deposit to acct
- Transfer across accounts (self)
- Open new account
- Close account (must be empty)
- Print transaction history
- Check balance
- Challenge: Transfer to another user's account (but not from)
- Support multiple users
- Users have associated accounts
- Can create new user
- Users are authenticated with a password (generated or provided on user creation)
- Can exit a user and enter another user
- BONUS Persistence
- Users and accounts remain persistent
- Opportunity for research
Recommended:
Create a Console
class that manages console interactions.
Create a ConsoleMock
for testing (provide scripted user input using this object).
The next lab is located here.