How sumeet4165/banking works
This repository is a microservices banking application. The visible workflow is account creation and account lookup, followed by initiating a transfer: the transaction service requests a sender debit, records a processing transaction, and publishes an initiation event. Account and transaction persistence are distinct internal layers. The source index also lists gateway, fraud, payment, and notification services, but their business behavior and connections are not shown in the excerpts; the README provides no additional workflow evidence.
Main entry points: TransactionService.java Transfer operations · AccountService.java Account operations · AccountController.java Account API · TransactionController.java Transaction API
Components 13
Account service
- Account API
account-service/src/main/java/com/banking/accountservice/controller/AccountController.java - Account operations
account-service/src/main/java/com/banking/accountservice/service/AccountService.java - Account repository
account-service/src/main/java/com/banking/accountservice/repository/AccountRepository.java - Account event consumer
account-service/src/main/java/com/banking/accountservice/service/AccountEventConsumer.java - Account record
account-service/src/main/java/com/banking/accountservice/entity/Account.java
Transaction service
- Transaction API
transaction-service/src/main/java/com/banking/transactionservice/controller/TransactionController.java - Transfer operations
transaction-service/src/main/java/com/banking/transactionservice/service/TransactionService.java - Account service client
transaction-service/src/main/java/com/banking/transactionservice/client/AccountServiceClient.java - Transaction repository
transaction-service/src/main/java/com/banking/transactionservice/repository/TransactionRepository.java - Transaction record
transaction-service/src/main/java/com/banking/transactionservice/entity/Transaction.java - Initiation event
transaction-service/src/main/java/com/banking/transactionservice/event/TransactionInitiatedEvent.java
Other components
- Banking client
- Kafka
Connections 13
- Banking client → Account API: requests accounts
account-service/src/main/java/com/banking/accountservice/controller/AccountController.java - Banking client → Transaction API: requests transfers
transaction-service/src/main/java/com/banking/transactionservice/controller/TransactionController.java - Account API → Account operations: calls
account-service/src/main/java/com/banking/accountservice/controller/AccountController.java - Account operations → Account repository: reads and writes
account-service/src/main/java/com/banking/accountservice/service/AccountService.java - Account event consumer → Account operations: calls
account-service/src/main/java/com/banking/accountservice/service/AccountEventConsumer.java - Account operations → Account record: maps account
account-service/src/main/java/com/banking/accountservice/service/AccountService.java - Transaction API → Transfer operations: calls
transaction-service/src/main/java/com/banking/transactionservice/controller/TransactionController.java - Transfer operations → Account service client: requests debit
transaction-service/src/main/java/com/banking/transactionservice/service/TransactionService.java - Account service client → Account API: calls account service
- Transfer operations → Transaction repository: saves and reads
transaction-service/src/main/java/com/banking/transactionservice/service/TransactionService.java - Transfer operations → Transaction record: creates and maps
transaction-service/src/main/java/com/banking/transactionservice/service/TransactionService.java - Transfer operations → Initiation event: creates
transaction-service/src/main/java/com/banking/transactionservice/service/TransactionService.java - Transfer operations → Kafka: publishes event
transaction-service/src/main/java/com/banking/transactionservice/service/TransactionService.java