Awesome Open Source
Awesome Open Source

Rails Event Store

Rails Event Store (RES) is a library for publishing, consuming, storing and retrieving events. It's your best companion for going with an event-driven architecture for your Rails application.

You can use it:

  • as your Publish-Subscribe bus
  • to decouple core business logic from external concerns in Hexagonal style architectures
  • as an alternative to ActiveRecord callbacks and Observers
  • as a communication layer between loosely coupled components
  • to react to published events synchronously or asynchronously
  • to extract side-effects (notifications, metrics etc) from your controllers and services into event handlers
  • to build an audit-log
  • to create read-models
  • to implement event-sourcing


Documentation, tutorials and code samples are available at

Code status

Ruby Event Store Rails Event Store Rails Event Store Active Record Ruby Event Store Rspec Ruby Event Store Browser Aggregate Root

Gem Version Downloads Maintainability Documentation

We're aiming for 100% mutation coverage in this project. This is why:

Whenever you fix a bug or add a new feature, we require that the coverage doesn't go down.


This single repository hosts several gems and website with documentation. Check the contribution guide.



This repository is funded and maintained by Arkency. Check out our other open-source projects and what else we have at RES.

Consider hiring us and make sure to check out our blog.

Learn more about DDD & Event Sourcing

Check our Rails + Domain Driven Design Workshop. Why You should attend? Robert has explained this in a blogpost.

Read about Domain Driven Rails

You may also consider buying the Domain-Driven Rails book.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
ruby (12,331
rails (647
ddd (168
cqrs (156
event-sourcing (131
domain-driven-design (88
event-driven (88
cqrs-es (24

Find Open Source By Browsing 7,000 Topics Across 59 Categories