cqrs-es2
A lightweight, opinionated CQRS and event sourcing framework targeting serverless architectures.

Installation
toml
[dependencies]
cqrs-es2 = "0.4.0"
serde = { version = "^1.0.127", features = ["derive"] }
serde_json = "^1.0.66"
Usage
Documentation is available here along with an introduction to CQRS and event sourcing.
Demo applications:
Change log
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 DynamoDb.
- A persistence implementation for MySql.