Rails_event_store

screenshot of Rails_event_store
rails

A Ruby implementation of an Event Store based on Active Record

Overview

Rails Event Store (RES) is a versatile library designed for publishing, consuming, storing, and retrieving events. It serves as a valuable tool for implementing an event-driven architecture in your Rails application. With RES, you can decouple core business logic, create communication layers between components, react to events synchronously or asynchronously, extract side-effects from controllers and services, build audit logs, create read models, and implement event sourcing.

Features

  • Publish-Subscribe Bus: Facilitates decoupling of core business logic from external concerns in Hexagonal style architectures.
  • Alternative to ActiveRecord Callbacks and Observers: Provides a different approach to managing callbacks and observers in Rails applications.
  • Communication Layer: Enables communication between loosely coupled components.
  • Synchronous and Asynchronous Event Reaction: Allows reacting to published events in real-time or asynchronously.
  • Extract Side-Effects: Helps in moving side-effects such as notifications and metrics out of controllers and services.
  • Build Audit Logs and Read Models: Supports the creation of audit logs and read models within the Rails application.
  • Event Sourcing: Facilitates the implementation of event sourcing for data storage and retrieval.
rails
Ruby on Rails

Ruby on Rails, often referred to as Rails, is an open-source web application framework written in Ruby. Known for its convention over configuration and don't repeat yourself (DRY) principles, Rails simplifies and accelerates the development of database-backed web applications.