https://github.com/davydovanton/event_sourcing_ruby
Simple repository for playing with event sourcing conceptions from F#
https://github.com/davydovanton/event_sourcing_ruby
Last synced: 9 months ago
JSON representation
Simple repository for playing with event sourcing conceptions from F#
- Host: GitHub
- URL: https://github.com/davydovanton/event_sourcing_ruby
- Owner: davydovanton
- Created: 2019-03-17T22:45:57.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-05-25T17:50:33.000Z (over 6 years ago)
- Last Synced: 2025-01-21T22:08:55.893Z (11 months ago)
- Language: Ruby
- Size: 20.5 KB
- Stars: 2
- Watchers: 5
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Event sourcing on ruby
Simple repository for playing with event sourcing conceptions from f#
## Notes
All "lib" code from this repository was moved to http://github.com/davydovanton/ivento. You can use this PoC gem istead implementing this code by hands.
## Sync version
Simple event sourcing system with getting event by hands. It's mean that you need to call event store `get` method every time for getting list of all events. After that you can use projections for calculate state of the system based on events which you get from event store.
Including:
* Events
* Event Store
* Projections for calculating state for list of events
### How it works
```
Event --(append)--> Event store
Event Store --(get)--> list of events
(Projection function (object), base state, list of events) ----> new state
```
### How to run
```
$ bundle exec ruby sync/base.rb
```
## Sync complicated version
Including:
* Events
* Event Store
* Projections for calculating state for list of events
* Producers for call bussines logic
* Aggregators for streams (based on uuid)
* Subscribers
### How to run
```
$ bundle exec ruby sync_complicated/base.rb
```
## TODO app
Including:
* Events
* Event Store
* Projections for calculating state for list of events
* Producers for call bussines logic
* Aggregators for streams (based on uuid)
* Subscribers
Simple flow for add todo to list and remove or rename it