Crates.io | cqrs |
lib.rs | cqrs |
version | 0.3.1 |
source | src |
created_at | 2019-02-01 17:55:29.059126 |
updated_at | 2019-08-07 18:26:21.333314 |
description | An event-sourced command-query system |
homepage | |
repository | https://github.com/cq-rs/cqrs |
max_upload_size | |
id | 112055 |
size | 58,566 |
cqrs
is an event-driven framework for writing software that uses events as
the "source of truth" and implements command–query responsibility separation (CQRS).
The framework is built around a few key concepts:
The framework is written to be applicable to a generic backend, with an implementation provided for a PostgreSQL backend.
For an example of how to construct a domain which includes aggregates, events,
and commands, look at the cqrs-todo-core
crate, which is a simple to-do list
implementation.
The source repository also contains a binary in the cqrs-todoql-psql
directory
which demonstrates the use of the todo
domain in concert with the PostgreSQL
backend and a GraphQL frontend using the juniper
crate.
To build all crates in this repository:
cargo build
To test all crates and documentation:
cargo test
To compile documentation for the crates in the repository (remove --no-deps
to also include documentation for dependencies; add --open
to automatically
open the documentation in a browser):
cargo doc --no-deps
This crate aims to support the wasm32-unknown-unknown
target for the cqrs
,
cqrs-core
, and cqrs-todo-core
crates. To build against this target, execute:
cargo build --target=wasm32-unknown-unknown -p cqrs-core -p cqrs -p cqrs-todo-core
cqrs
is openly-licensed under the Apache-2.0 license.