MCPcopy Index your code
hub / github.com/SpringBootCourses/cqrs-banking-app

github.com/SpringBootCourses/cqrs-banking-app @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
244 symbols 699 edges 98 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CQRS and Event-Sourcing Banking App

Banking app example for CQRS and Event-Sourcing pattern.

This repository contains project from YouTube course.

You can find theory and explanation in this document.

Application schema

Schema

CQRS and Event-Sourcing

CQRS

Event Sourcing

Change Data Capture

CDC

Usage

To start an application you need to pass variables to .env file. Look at .env.example file with some predefined environments.

All services are running in docker containers. To start the application you need to run docker-compose up -d command.

NOTE: after Debezium connect is started, apply source config manually.

cd /on-startup/

sh run.sh

Application is running on port 8080 for backend and 8081 for event handler.

You can access endpoints and make requests to the application.

How to contribute

If you found a bug or want to improve the application, feel free to create an issue.

Extension points exported contracts — how you extend this code

AccountService (Interface)
(no doc) [16 implementers]
event-handler/src/main/java/com/example/eventhandler/service/account/AccountService.java
QueryService (Interface)
(no doc) [12 implementers]
common/src/main/java/com/example/common/service/QueryService.java
CommandService (Interface)
(no doc) [15 implementers]
core-service/src/main/java/com/example/core/service/CommandService.java
TransactionService (Interface)
(no doc) [16 implementers]
event-handler/src/main/java/com/example/eventhandler/service/transaction/TransactionService.java
Event (Interface)
(no doc) [5 implementers]
common/src/main/java/com/example/common/events/Event.java
AccountService (Interface)
(no doc) [16 implementers]
core-service/src/main/java/com/example/core/service/account/AccountService.java
EventHandler (Interface)
(no doc) [8 implementers]
event-handler/src/main/java/com/example/eventhandler/handler/EventHandler.java
CardQueryService (Interface)
(no doc) [3 implementers]
common/src/main/java/com/example/common/service/card/CardQueryService.java

Core symbols most depended-on inside this repo

getById
called by 14
common/src/main/java/com/example/common/service/QueryService.java
create
called by 12
core-service/src/main/java/com/example/core/service/event/EventService.java
toDto
called by 6
core-service/src/main/java/com/example/core/web/dto/mapper/Mappable.java
create
called by 5
event-handler/src/main/java/com/example/eventhandler/service/card/CardService.java
add
called by 4
event-handler/src/main/java/com/example/eventhandler/service/card/CardService.java
equals
called by 4
common/src/main/java/com/example/common/domain/model/Card.java
addTransaction
called by 3
event-handler/src/main/java/com/example/eventhandler/service/card/CardService.java
getByUsername
called by 3
core-service/src/main/java/com/example/core/service/client/ClientService.java

Shape

Method 146
Class 58
Interface 38
Enum 2

Languages

Java100%

Modules by API surface

event-handler/src/main/java/com/example/eventhandler/service/card/CardServiceImpl.java8 symbols
core-service/src/main/java/com/example/core/web/controller/ControllerAdvice.java8 symbols
core-service/src/main/java/com/example/core/web/security/SecurityUser.java7 symbols
core-service/src/main/java/com/example/core/service/card/CardServiceImpl.java7 symbols
event-handler/src/main/java/com/example/eventhandler/service/card/CardService.java5 symbols
core-service/src/main/java/com/example/core/web/security/service/SecurityServiceImpl.java5 symbols
core-service/src/main/java/com/example/core/web/security/service/SecurityService.java5 symbols
core-service/src/main/java/com/example/core/web/security/SecurityConfig.java5 symbols
core-service/src/main/java/com/example/core/service/client/ClientServiceImpl.java5 symbols
core-service/src/main/java/com/example/core/service/card/CardService.java5 symbols
common/src/main/java/com/example/common/service/client/ClientQueryServiceImpl.java5 symbols
common/src/main/java/com/example/common/service/card/CardQueryServiceImpl.java5 symbols

For agents

$ claude mcp add cqrs-banking-app \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page