-
Allows writing your testable
CQRS/ES
model with minimal dependencies. -
Allows consistently handling your commands and save resulting events into
Postgres
. -
Allows consistently and ordered projecting your events to your view models in
Postgres
. -
Allows consistently and ordered publishing your events to Vertx eventbus, so you can integrate with any message broker, database, cache, etc.
-
Using Vertx
non-blocking IO
Postgres driver. -
Using key
Postgres
features: json, notification and advisory locks. -
Trying to be idiomatic Kotlin: type safeness: immutability, pattern matching, honouring your constructors.
To express your domain model.
-
State transitions occurs after computing results of pure functions
(State, Event) → State
. -
Tests in BDD way without any dependency to Vertx: only to
crabzilla-core
:-
given command, then assertion
-
given events, when command, then assertion
-
given commands or events in any order, then assertion
-