- Notifications
You must be signed in to change notification settings - Fork33
get-eventually/eventually-rs
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Collection of traits and other utilities to help you build your Event-sourced applications in Rust.
⚠️ v0.5.0 is under active development: Breaking changes are expected. If you are usingeventually
as a git dependency you should use a pinned version!
Addeventually
into your project dependencies:
[dependencies]eventually = {version ="0.5.0",features = ["full"],git ="https://github.com/get-eventually/eventually-rs" }
This library isactively being developed, and prior tov1
release the followingSemantic versioningis being adopted:
- Breaking changes are tagged with a new
MINOR
release - New features, patches and documentation are tagged with a new
PATCH
release
Before diving into the crate's internals, you may be wondering what Event Sourcing is.
Fromeventstore.com introduction:
Event Sourcing is an architectural pattern that is gaining popularity as a method for building modern systems. Unlike traditional databases which only store and update the current state of data, event-sourced systems store all changes as an immutable series of events in the order that they occurred and current state is derived from that event log.
eventually
exposes all the necessary abstraction to model yourDomain Entities (in lingo,Aggregates) using Domain Events, andto save these Events using anEvent Store (the append-only event log).
For more information,check out the crate documentation.
You can also take a look at thebank-accounting
example,showcasing Event-sourced application for a generic (and simple) Bank Accounting bounded context.
eventually-rs
provides the necessary abstractions for modeling and interactingwith an Event Store.
These are the following officially-supported backend implementations:
eventually::event::store::InMemory
: simple inmemory Event Store implementation, usingstd::collections::HashMap
,eventually-postgres
: Event Store and Aggregate Root Repository implementations for PostgreSQL databases.
You want to contribute toeventually-rs
but you don't know where to start?
First of all, thank you for considering contributing ❤️
You can head over ourCONTRIBUTING
section to knowhow to contribute to the project, and — in case you don't have a clear idea whatto contribute — what is most needed needed from contributors.
This project is licensed under theMIT license.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion ineventually-rs
by you, shall be licensed as MIT, without any additional terms or conditions.
About
Event Sourcing for Rust
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.
Contributors10
Uh oh!
There was an error while loading.Please reload this page.