This repository is the demonstration of how event-sourcing can be used and implemented.
Imagine you create a platform where people can write/edit message, write/edit comment and like or remove their like on a message.
We do all implementation for the crud part and the event sourcing part so we can see the difference between both.
The first implementation is just a basic crud. You create and edit everything directly.
You see that you now grow and need to have a message history, to see what was the message before being edited.
You now need to have also the comments history.
You also need to know who liked or removed their like history.
Now, you need to refactor the database, since it wasn't readable.