RailsEventStore/rails_event_store

A Ruby implementation of an Event Store based on Active Record

Ruby

1,555

8,220 commits

updated Oct 12, 2026

See the code

README

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

Documentation, tutorials and code samples are available at https://railseventstore.org.

Code status

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

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.

RailsEventStore gems

Contributed gems

Unreleased contributed gems

About

Arkency

This repository is funded and maintained by arkency. Make sure to check out our Rails Architect Masterclass training and long-term support plans available.

aggregate-root
cqrs
cqrs-es
ddd
domain-driven-design
event-driven
event-driven-architecture
event-sourcing
rails
ruby

RailsEventStore/rails_event_store

A Ruby implementation of an Event Store based on Active Record

Ruby

1,555

8,220 commits

updated Oct 12, 2026

See the code

README

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

Documentation, tutorials and code samples are available at https://railseventstore.org.

Code status

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

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.

RailsEventStore gems

Contributed gems

Unreleased contributed gems

About

Arkency

This repository is funded and maintained by arkency. Make sure to check out our Rails Architect Masterclass training and long-term support plans available.

aggregate-root
cqrs
cqrs-es
ddd
domain-driven-design
event-driven
event-driven-architecture
event-sourcing
rails
ruby

Project health

Overall

3.8/10

Maintained

10/10

Code review

0/10
OpenSSF Scorecard

Latest release

3.2.0 · Sep 29, 2026

Releases this year

9

Significant stargazers

Anton Davydov

784 followers · starred Aug 2017

Lawrence Chou

58 followers · starred Nov 2021

André Luis Leal Cardoso Jr

148 followers · starred Apr 2018

Erick Guan

119 followers · starred Jun 2024