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

Attribute Macros

Derive Macros