How manuraj-180106/bank-account-management-system works
This is a console-based bank account management system. A user chooses menu operations in the controller; the service applies banking rules, the repository finds or stores accounts, and account objects enforce type-specific behavior. The README also documents account lookup/listing, savings interest, current-account overdrafts, and transfers. The repository is in-memory, not persistent. The transaction model exists, but the sampled service does not use it to record transaction history; unsampled wiring is not inferred.
Main entry points: BankService.java Bank service · Account.java Account base · BankController.java Menu controller · Main.java Application entry
Components 12
Console entry
- Application entry
src/main/Main.java - Menu controller
src/controller/BankController.java
Banking operations
- Bank service
src/service/BankService.java
Account domain
- Account base
src/model/Account.java - Savings account
src/model/SavingsAccount.java - Current account
src/model/CurrentAccount.java - Customer
src/model/Customer.java - Account type
src/model/AccountType.java - Transaction interface
src/model/Transactable.java - Transaction model
src/model/Transaction.java
Account storage
- Account repository
src/repository/AccountRepository.java
Other components
- Console user
Connections 18
- Console user → Menu controller: enters choices
- Menu controller → Console user: shows results
- Application entry → Account repository: creates
- Application entry → Bank service: creates with repository
- Application entry → Menu controller: starts
- Menu controller → Bank service: requests operations
- Menu controller → Customer: creates customer
- Menu controller → Account base: reads returned account
- Bank service → Account repository: finds and stores
- Bank service → Account type: selects account type
- Bank service → Savings account: creates savings
- Bank service → Current account: creates current
- Bank service → Account base: operates on accounts
- Account repository → Account base: stores and returns
- Savings account → Account base: extends
- Current account → Account base: extends
- Account base → Transaction interface: implements
- Account base → Customer: contains