A Ruby library for implementing event-driven architectures in Rails applications, providing event publishing, storage, and subscription.
Rails Event Store is a Ruby library that implements an event store for Rails applications, enabling developers to publish, store, and subscribe to events. It solves the problem of tightly coupled architectures by providing a robust foundation for event-driven design, audit logging, and event sourcing. It acts as a central hub for domain events, replacing patterns like ActiveRecord callbacks with more explicit and scalable event handling.
Rails developers and teams building complex applications who want to adopt event-driven architectures, implement event sourcing, or improve system decoupling and observability. It's particularly valuable for projects needing audit trails, domain event capture, or hexagonal architecture patterns.
Developers choose Rails Event Store for its deep Rails integration, comprehensive feature set for event management, and strong emphasis on testing and reliability. It offers a battle-tested, open-source alternative to building custom event systems, with extensive documentation and a modular gem ecosystem that extends its capabilities.
A Ruby implementation of an Event Store based on Active Record
Designed specifically for Rails, it hooks into ActiveRecord for persistence and follows Rails conventions, reducing setup friction as highlighted in the documentation.
Supports publish-subscribe with synchronous and asynchronous handlers, enabling decoupled architecture and side-effect extraction from controllers, as described in use cases.
The project enforces 100% mutation testing coverage across gems, ensuring high reliability and encouraging best practices in event-driven code.
Modular gems like ruby_event_store-browser for UI and ruby_event_store-rspec for testing provide tailored extensions without bloating the core, as shown in the gem list.
Event storage is tightly coupled to ActiveRecord, making it less suitable for apps using alternative ORMs like ROM or NoSQL databases without extra work from contributed gems.
Implementing full event-sourcing requires significant design changes and can introduce complexity that outweighs benefits for straightforward domains, despite the library's practicality.
Adopting event-driven patterns forces teams to move beyond familiar ActiveRecord callbacks, requiring upfront investment in new mental models for events and aggregates.
Flexible authentication solution for Rails with Warden.
Open-source headless eCommerce platform with REST API, TypeScript SDK, and Next.js storefront for cross-border, B2B or marketplace eCommerce.
The administration framework for Ruby on Rails applications.
Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.