Rails Event Store is a library for publishing and storing events, which can be further used to build your application state from them.

This can be a solid foundation for a design approach called event sourcing. It has many benefits and is an interesting if you happen to struggle with keeping maintainability of your application at a reasonable level.

The "core" of the solution is RubyEventStore - separate gem where all concepts are implemented. Ruby Event Store is unopinionated on how events are stored. Rails Event Store and Rails Event Store Active Record libraries provide persistence layer suitable for Ruby on Rails.

This documentation serves as a practical guide, as well as a place to describe all basic concepts you need to grasp to benefit from this design choice.