Demo app for Event Sourcing architecture
Demo application to demonstrate the power of the event sourcing architecture for DevelopersBR livestream
- Demo app for Event Sourcing architecture
What is event sourcing
Event sourcing is a development pattern to solve audit problems and make our application more easily maintainable. It is described as:
A way to capture all changes to an application state as a sequence of events.
There's not much jabber about it right now, however this pattern first emerged in one of Martin Fowler's articles in 2005, for some reason it's been forgotten ever since.
I'm not describing it all here, however I have a series of related material (in portuguese) so you can study it for yourself.
- Tardis - A Nodejs library to control time
- Paradox - A Nodejs library to aid event sourcing apps
- What is event sourcing (talk in portuguese)
- Let's talk about event sourcing and how it can save your project (in portuguese)
- An architecture guide to use event sourcing
- Livestream video where I build this application (in portuguese)
- Slides used in this livestream
- Article about this architecture
Running the application
This app uses Docker Compose as runner, it'll build and set all your containers, you just need to run
docker-compose up in the root directory.
This app version has some intentional "errors" and/or misleading designs in order to incentivate students to improve it.
How do I improve?
Our branches are named
master which is v1, we have
v2 with some additional improvements. If you want to make even more improvements, clone the project and go to the
v2 branch. Then do your thing and submit a PR for approval.
PR's without changelogs will not be approved