Build Status codecov Maven Central

crabzilla

Goal for version 1.0.0

To help writing CQRS and Event Sourcing applications with Vert.x

Architecture

Status

Its still in very early development stage. APIs can change. So far Crabzilla has only an Aggregate example. Inspired by Eventstorming, the goal is to develop examples and implementations for an ExternalSystem, a Listener and a ProcessManager / Saga. Do not use release 0.0.5, master branch is very different from that.

Example application

Requirements

Steps

  1. Clone it:
git clone https://github.com/crabzilla/crabzilla
cd crabzilla
  1. Start docker-compose running a Postgres database (port 5432 will be used):
docker-compose up
  1. Open another terminal and build it, running both unit and integration tests:
mvn clean install

Random notes

  1. Crabzilla tries to provide a chassis for wiring and running your domain by using verticles and other components.
  2. If your functions are pure, all side effects will occurs within UnitOfWorkJournal and EventsProjector components.
  3. So far events from all entities are written as an UnitOfWork in Json format into a single partitioned append only table.