GithubHelp home page GithubHelp logo

railseventstore / rails_event_store Goto Github PK

View Code? Open in Web Editor NEW
1.4K 35.0 122.0 13.06 MB

A Ruby implementation of an Event Store based on Active Record

Home Page: http://railseventstore.org

License: MIT License

Ruby 81.87% Makefile 1.14% Elm 6.84% JavaScript 0.15% CSS 1.33% HTML 8.32% Dockerfile 0.02% Nix 0.33% Shell 0.01%
ruby event-sourcing rails ddd aggregate-root event-driven domain-driven-design event-driven-architecture cqrs-es cqrs

rails_event_store's Introduction

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

Name CI Version Downloads
rails_event_store GitHub Workflow Status Gem Gem
rails_event_store_active_record GitHub Workflow Status Gem Gem
ruby_event_store-active_record GitHub Workflow Status Gem Gem
ruby_event_store GitHub Workflow Status Gem Gem
ruby_event_store-browser GitHub Workflow Status Gem Gem
ruby_event_store-rspec GitHub Workflow Status Gem Gem
aggregate_root GitHub Workflow Status Gem Gem

Contributed gems

Name CI Version Downloads
ruby_event_store-outbox GitHub Workflow Status Gem Gem
ruby_event_store-protobuf GitHub Workflow Status Gem Gem
ruby_event_store-profiler GitHub Workflow Status Gem Gem
ruby_event_store-flipper GitHub Workflow Status Gem Gem
ruby_event_store-transformations GitHub Workflow Status Gem Gem
ruby_event_store-rom GitHub Workflow Status Gem Gem
ruby_event_store-sidekiq_scheduler GitHub Workflow Status Gem Gem

Unreleased contributed gems

Name CI
ruby_event_store-newrelic GitHub Workflow Status
minitest-ruby_event_store GitHub Workflow Status
dres_rails GitHub Workflow Status
dres_client GitHub Workflow Status

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.