Getting started
Create new Rails application
Just use provided application template and run:
rails new -m https://railseventstore.org/new YOUR-APP-NAME
What's included?
- Rails Event Store gem added to
Gemfile
(latest version) - Rails Event Store data model migration generated and executed
- Rails Event Store initializer generated with default configuration
- Rails Event Store Browser mounted (available at
http://localhost:3000/res
)
What next?
- check Rails Event Store setup defined in
config/initializers/rails_event_store.rb
, learn more how to setup Rails Event Store here - decide if default
YAML
serialization suits your needs, see more about serialization formats here - start implementing your domain, use
bounded_context
gem's generators to initialize folders structure for your domain model (userails generate rails_event_store:bounded_context YOUR-BOUNDED-CONTEXT-NAME
command) - implement your aggregates using
AggregateRoot
module, see how here - subscribe to domain events published, check how to define subscriptions and event handlers
- learn Command pattern and how to use Arkency's command bus to decouple your domain model from controllers
- check how to use provied
RSpec
matchers - learn more about:
- reading domain events
- publishing domain events
- logging request metadata
- concurrencycontrol using expected version
- possible errors
API documentation is available here