How truthplumage/backend_public5 works
Backend5 is a Spring application for marketplace operations: members authenticate, users manage products and orders, payments are confirmed or recorded as failures, and products can be searched through Elasticsearch. Separate Kafka endpoints publish order events, while batch endpoints launch settlement work. The sampled services show the core application-to-repository and payment-provider interactions. Several peripheral modules, including settlement internals and event consumption, are present in the tree but their runtime wiring is not established by the available excerpts.
Main entry points: PaymentService.java Payment service · MemberService.java Member service · ProductApplicationService.java Product service · SearchService.java Search service
Components 29
Member identity
- Member API
src/main/java/com/grepp/backend5/member/presentation/controller/MemberController.java - Member service
src/main/java/com/grepp/backend5/member/application/service/MemberService.java - Member repository
src/main/java/com/grepp/backend5/member/domain/repository/MemberRepository.java - JWT provider
src/main/java/com/grepp/backend5/member/util/JwtProvider.java - Auth API
src/main/java/com/grepp/backend5/auth/presentation/controller/AuthController.java
Marketplace operations
- Product API
src/main/java/com/grepp/backend5/product/presentation/controller/ProductController.java - Product service
src/main/java/com/grepp/backend5/product/application/service/ProductApplicationService.java - Product repository
src/main/java/com/grepp/backend5/product/domain/repository/ProductRepository.java - Seller identity ACL
src/main/java/com/grepp/backend5/product/application/acl/SellerAcl.java - Order API
src/main/java/com/grepp/backend5/order/presentation/controller/OrderController.java - Order service
src/main/java/com/grepp/backend5/order/application/service/OrderApplicationService.java - Order repository
src/main/java/com/grepp/backend5/order/domain/repository/OrderRepository.java
Payments and settlement
- Payment API
src/main/java/com/grepp/backend5/payment/presentation/PaymentController.java - Payment service
src/main/java/com/grepp/backend5/payment/application/PaymentService.java - Payment repositories
src/main/java/com/grepp/backend5/payment/domain/repository/PaymentRepository.java - Failure repository
src/main/java/com/grepp/backend5/payment/domain/repository/PaymentFailureRepository.java - Batch API
src/main/java/com/grepp/backend5/batch/presentation/BatchJobController.java - Settlement launcher
src/main/java/com/grepp/backend5/batch/service/SettlementJobLauncher.java - Settlement tasklet
src/main/java/com/grepp/backend5/batch/job/SettlementTasklet.java
Product search
- Search API
src/main/java/com/grepp/backend5/search/presentation/controller/ProductSearchController.java - Search service
src/main/java/com/grepp/backend5/search/application/SearchService.java - Search repository
src/main/java/com/grepp/backend5/search/infrastructure/ProductSearchRepository.java
Events
- Kafka order API
src/main/java/com/grepp/backend5/kafka/presentation/KafkaOrderController.java - Order publisher
src/main/java/com/grepp/backend5/kafka/application/OrderEventPublisher.java - Order listener
src/main/java/com/grepp/backend5/kafka/application/OrderEventListener.java
Other components
- API clients
- Toss Payments
- Elasticsearch
- Kafka broker
Connections 27
- API clients → Member API: calls
src/main/java/com/grepp/backend5/member/presentation/controller/MemberController.java - Member API → Member service: delegates to
src/main/java/com/grepp/backend5/member/presentation/controller/MemberController.java - Member service → Member repository: reads and writes
src/main/java/com/grepp/backend5/member/application/service/MemberService.java - Member service → JWT provider: generates tokens
src/main/java/com/grepp/backend5/member/application/service/MemberService.java - API clients → Product API: calls
src/main/java/com/grepp/backend5/product/presentation/controller/ProductController.java - Product API → Product service: delegates to
src/main/java/com/grepp/backend5/product/presentation/controller/ProductController.java - Product service → Product repository: reads and writes
src/main/java/com/grepp/backend5/product/application/service/ProductApplicationService.java - Product service → Seller identity ACL: checks seller
src/main/java/com/grepp/backend5/product/application/service/ProductApplicationService.java - API clients → Order API: calls
src/main/java/com/grepp/backend5/order/presentation/controller/OrderController.java - Order API → Order service: delegates to
src/main/java/com/grepp/backend5/order/presentation/controller/OrderController.java - Order service → Order repository: reads and writes
src/main/java/com/grepp/backend5/order/application/service/OrderApplicationService.java - API clients → Payment API: calls
src/main/java/com/grepp/backend5/payment/presentation/PaymentController.java - Payment API → Payment service: delegates to
src/main/java/com/grepp/backend5/payment/presentation/PaymentController.java - Payment service → Toss Payments: confirms payment
src/main/java/com/grepp/backend5/payment/application/PaymentService.java - Payment service → Payment repositories: reads and writes
src/main/java/com/grepp/backend5/payment/application/PaymentService.java - Payment service → Failure repository: records failures
src/main/java/com/grepp/backend5/payment/application/PaymentService.java - API clients → Batch API: calls
src/main/java/com/grepp/backend5/batch/presentation/BatchJobController.java - Batch API → Settlement launcher: launches job
src/main/java/com/grepp/backend5/batch/presentation/BatchJobController.java - API clients → Search API: calls
src/main/java/com/grepp/backend5/search/presentation/controller/ProductSearchController.java - Search API → Search service: delegates to
src/main/java/com/grepp/backend5/search/presentation/controller/ProductSearchController.java - Search service → Search repository: indexes and searches
src/main/java/com/grepp/backend5/search/application/SearchService.java - Search service → Elasticsearch: manages index
src/main/java/com/grepp/backend5/search/application/SearchService.java - API clients → Kafka order API: calls
src/main/java/com/grepp/backend5/kafka/presentation/KafkaOrderController.java - Kafka order API → Order publisher: publishes via
src/main/java/com/grepp/backend5/kafka/presentation/KafkaOrderController.java - Order publisher → Kafka broker: sends events
- Kafka broker → Order listener: delivers events
- Settlement launcher → Settlement tasklet: runs