https://github.com/ddd-by-examples/event-source-cqrs-sample
Sample ES/CQRS application
https://github.com/ddd-by-examples/event-source-cqrs-sample
cqrs domain-driven-design event-driven event-sourcing hexagonal-architecture springboot
Last synced: 2 months ago
JSON representation
Sample ES/CQRS application
- Host: GitHub
- URL: https://github.com/ddd-by-examples/event-source-cqrs-sample
- Owner: ddd-by-examples
- Created: 2016-06-27T20:45:28.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-05-22T22:15:14.000Z (about 7 years ago)
- Last Synced: 2025-03-29T12:10:04.730Z (2 months ago)
- Topics: cqrs, domain-driven-design, event-driven, event-sourcing, hexagonal-architecture, springboot
- Language: Java
- Size: 372 KB
- Stars: 471
- Watchers: 36
- Forks: 133
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://devternity.com)
# Sample event sourced application with Command Query Responsibility Segregation
** Event sourcing **
Shop item can be bought, paid, and marked as payment timeout. Aggregate root (ShopItem) emits 3 different types of domain events: ItemBought, ItemPaid, ItemPaymentMissing. All of them are consequences of commands.
Event store is constructed in database as EventStream table with collection of EventDescriptors. EventStream is fetched by unique aggregate root uuid.
** CQRS **
Read model is constructed by listening to domain events mentioned before. This task is performed by ReadModelOnDomainEventUpdater