Crate chekov[−][src]
Expand description
Chekov is a CQRS/ES Framework built on top of Actix actor framework.
Getting started
Application
Chekov is using Application
as a way to separate usecases. You can defined multiple
applications on the same runtime which can be useful to synchronise multiple domains.
But first, let’s define our first Application
:
#[derive(Default)]
struct DefaultApp {}
// Application trait is here to preconfigure your chekov runtime.
// It tells that you want this `Application` to use a PostgresBackend and resolve the
// eventbus's event with the `DefaultEventResolver`.
impl chekov::Application for DefaultApp {
type Storage = event_store::prelude::PostgresBackend;
}
Modules
Aggregates produce events based on commands
Struct and Trait correlated to Application
Struct and Trait correlated to Event
Structs
Struct to configure and launch an Application
instance
A RecordedEvent
represents an Event
which have been append to a Stream
Deal with Application subscriptions
Traits
Define an Aggregate
Application are high order logical seperator.
Define a Command which can be dispatch
Define an Event which can be produced and consumed
Define an event applier
Define a struct as an EventHandler