cqrs-es2
A lightweight CQRS and event sourcing framework.

Installation
toml
[dependencies]
cqrs-es2 = "0.5.0"
serde = { version = "^1.0.127", features = ["derive"] }
serde_json = "^1.0.66"
Usage
Full fledged demo applications:
Change log
v0.5.0
- Add multi-store support
- Reorganize test framework module
- Improve unittest coverage
- Improve error return
- Add
IQuery::query_type()
IQueryStore
QueryContext
memory_store::QueryStore
v0.4.0
- Move
AggregateContext
to the aggregates
module
- Rename public traits to have the
I
notation (IAggregate
,IDomainEvent
, etc.)
- Convert
IAggregateContext
to AggregateContext
v0.3.0
- Add
DomainCommand
trait
- Remove
EventEnvelope::aggregate_type
data member
- Add
Clone
to IAggregate
v0.2.5
v0.2.4
- Fix license documentation
- Upgrade dev dependencies
v0.2.3
v0.2.2
- Automate Github deployment
v0.2.1
v0.2.0
- Transfer of ownership
- Upgrade dependencies
- Add GitHub CI support
- Convert to a modular structure
- Correct mutability to match recent PostgresSQL changes
v0.1.0
- Corrected to move all command and event logic into the aggregate.
TODO
- Event upcasters.
- Event serialization uses the event type as the root node of the JSON tree.
This simplifies deserialization but is non-standard.
- A persistence implementation for:
- SQL:
- MySql
- MariaDB
- MSSQL
- SQLite
- NoSQL:
- MongoDB
- DynamoDb
- Redis