- Admins should be able to create new tellers to perform transactions
- Tellers should be able to create new accounts for customers
- Tellers should be able to aid customers in debiting or crediting their account
- Admins should be able to see all records of transactions and the total amount in the vault at any time
- customers should be able to see the current amount in their account and records of all their transactions
User class data :
- firstName
- lastName
- age
- phoneNumber
- address
Teller class data (inherit user data ):
Acount class data:
- type {saving / current}
- balance
methods :
-doCrediting { credits account and returns message }
-doDebiting { debits account and returns message }
Customer class data(inherit user data ):
- accounts { hash of all customer account types as keys and the actual account as the key }
Transaction class data :
-type { debit / credit && on what account}
-teller { teller performing transaction }
-customer { customer performing transaction }
-amount
methods :
-genrateMessage { credits account and returns message }
Vault class data :
-branch
-totalFunds
-records { keeps all transaction of type Transactions }
methods :
-addFunds { after any credit transaction }
-subFunds { after debit transacrion }