2 unstable releases
| 0.2.0 | Sep 22, 2021 |
|---|---|
| 0.1.0 | Aug 31, 2021 |
#18 in #es
170KB
5.5K
SLoC
cqrs-es2-store
Sync implementation of the cqrs-es2 store.
Provides sync interfaces to different database implementations for the CQRS system store.
Design
The main components of this library are:
IEventDispatcher- an interface for sync events listenersIEventStore- an interface for sync event storesIQueryStore- an interface for sync query stores
Features
with-postgres- sync Postgres storewith-mysql- sync MySQL storewith-sqlite- sync SQLite storewith-all-sql- all SQL driverswith-mongodb- sync MongoDB storewith-all-doc-db- all doc DBs driverswith-redis- sync Redis storewith-all-kv-db- all key-value DBs driverswith-all-sync- all sync drivers (default)
Installation
To use this library in a sync application, add the following to
your dependency section in the project's Cargo.toml:
[dependencies]
# logging
log = { version = "^0.4", features = [
"max_level_debug",
"release_max_level_warn",
] }
fern = "^0.5"
# serialization
serde = { version = "^1.0.127", features = ["derive"] }
serde_json = "^1.0.66"
async-trait = "^0.1"
# CQRS framework
cqrs-es2 = { version = "*"}
# Sync postgres store implementation
cqrs-es2-store = { version = "*", default-features = false, features = [
"with-postgres",
] }
# postgres driver
postgres = { version = "^0.19.1", features = ["with-serde_json-1"] }
Usage
Full sync store example applications are available here.
Change Log
A complete history of the change log can be found here
TODO
An up-to-date list of development aspirations can be found here
Dependencies
~0.7–25MB
~366K SLoC