How aman-chaturvedi-bio/r24sa003-aman-chaturvedi-javaproject works
Aman Bank is a console-based account-management application. Users choose menu actions to register customers, open accounts, transact, and inspect account history, estimates, or statistics. Main is the interaction orchestrator; BankService manages in-memory customer/account collections and account lookup, creation, and transfers, while account models enforce transaction rules and create transaction records. The README documents these capabilities; the sampled source shows their main call paths. The account-type enum is represented from the tree and README, but its source was not sampled.
Main entry points: Main.java Menu and workflows · Account.java Account rules · BankService.java BankService · SavingsAccount.java Savings account
Components 13
Console interaction
- Menu and workflows
mnt/data/aman_bank_project/src/com/reva/bank/app/Main.java - Input parsing
mnt/data/aman_bank_project/src/com/reva/bank/util/InputUtil.java
Banking service
- BankService
mnt/data/aman_bank_project/src/com/reva/bank/service/BankService.java - Payable interface
mnt/data/aman_bank_project/src/com/reva/bank/service/Payable.java
Account domain
- Customer
mnt/data/aman_bank_project/src/com/reva/bank/model/Customer.java - Account rules
mnt/data/aman_bank_project/src/com/reva/bank/model/Account.java - Savings account
mnt/data/aman_bank_project/src/com/reva/bank/model/SavingsAccount.java - Current account
mnt/data/aman_bank_project/src/com/reva/bank/model/CurrentAccount.java - Account type
mnt/data/aman_bank_project/src/com/reva/bank/model/AccountType.java
Transaction records
- Transaction entry
mnt/data/aman_bank_project/src/com/reva/bank/model/Transaction.java - Transaction IDs
mnt/data/aman_bank_project/src/com/reva/bank/model/TransactionId.java - Transaction type
mnt/data/aman_bank_project/src/com/reva/bank/model/TransactionType.java
Other components
- Bank user
Connections 22
- Bank user → Menu and workflows: selects actions
- Menu and workflows → Input parsing: reads input
- Menu and workflows → BankService: registers customers
- Menu and workflows → BankService: creates accounts
- Menu and workflows → BankService: looks up accounts
- Menu and workflows → BankService: transfers funds
- Menu and workflows → BankService: reads account list
- Menu and workflows → Account rules: deposits or withdraws
- Menu and workflows → Account rules: reads history and estimate
- Menu and workflows → Payable interface: calculates example
- BankService → Savings account: creates savings
- BankService → Current account: creates current
- BankService → Account rules: withdraws and deposits
- Account rules → Transaction IDs: requests ID
- Account rules → Transaction entry: records transaction
- Account rules → Customer: references owner
- Savings account → Account rules: extends rules
- Current account → Account rules: extends rules
- Savings account → Account type: returns type
- Current account → Account type: returns type
- Account rules → Transaction type: records operation type
- BankService → Payable interface: implements