All Projects → Eveneum → Eveneum

Eveneum / Eveneum

Licence: mit
Event Store backed by Azure Cosmos DB

Projects that are alternatives of or similar to Eveneum

Asombroso Ddd
Una lista cuidadosamente curada de recursos sobre Domain Driven Design, Eventos, Event Sourcing, Command Query Responsibility Segregation (CQRS).
Stars: ✭ 41 (-55.91%)
Mutual labels:  event-sourcing
Pumpkindb
Immutable Ordered Key-Value Database Engine
Stars: ✭ 1,219 (+1210.75%)
Mutual labels:  event-sourcing
Commanded
Use Commanded to build Elixir CQRS/ES applications
Stars: ✭ 1,280 (+1276.34%)
Mutual labels:  event-sourcing
Event Sourcing With Kotlin
A demo project to show Event Sourcing with Kotlin.
Stars: ✭ 47 (-49.46%)
Mutual labels:  event-sourcing
Event Sourcing Castanha
An Event Sourcing service template with DDD, TDD and SOLID. It has High Cohesion and Loose Coupling, it's a good start for your next Microservice application.
Stars: ✭ 68 (-26.88%)
Mutual labels:  event-sourcing
Nestjs Cqrs Starter
NestJS CQRS Microservices Starter Project
Stars: ✭ 80 (-13.98%)
Mutual labels:  event-sourcing
Ultimate Backend
Multi tenant SaaS starter kit with cqrs graphql microservice architecture, apollo federation, event source and authentication
Stars: ✭ 978 (+951.61%)
Mutual labels:  event-sourcing
Loom
Stars: ✭ 88 (-5.38%)
Mutual labels:  event-sourcing
Eventsourcing
Event Sourcing Library for Rust
Stars: ✭ 71 (-23.66%)
Mutual labels:  event-sourcing
Cafeapp
A Real World Business Application using F# and Suave
Stars: ✭ 86 (-7.53%)
Mutual labels:  event-sourcing
Fblazorshop
This is a port of Steve Sanderson's Pizza Workshop for Blazor by using F# and Bolero.
Stars: ✭ 58 (-37.63%)
Mutual labels:  event-sourcing
Djangoevents
Stars: ✭ 66 (-29.03%)
Mutual labels:  event-sourcing
Typescript Event Sourcing
Domain Driven Design, Event Sourcing & Command Query Responsibility Segregation with Typescript
Stars: ✭ 83 (-10.75%)
Mutual labels:  event-sourcing
Transmute Framework
TypeScript dApp Framework
Stars: ✭ 45 (-51.61%)
Mutual labels:  event-sourcing
Aspnetcore Ddd
Full ASP.NET Core 3.1 LTS application with DDD, CQRS and Event Sourcing
Stars: ✭ 88 (-5.38%)
Mutual labels:  event-sourcing
Go Cqrs All
All-in-one collection for Go CQRS / ES / DDD examples
Stars: ✭ 39 (-58.06%)
Mutual labels:  event-sourcing
Hacker News Resolve
React & Redux & Resolve implementation of Hacker News
Stars: ✭ 79 (-15.05%)
Mutual labels:  event-sourcing
Event Store Client
PHP 7.4 Event Store Client Implementation
Stars: ✭ 93 (+0%)
Mutual labels:  event-sourcing
Productcontext Eventsourcing
A practical/experimental Event Sourcing application on Product Bounded Context in an e-commerce
Stars: ✭ 88 (-5.38%)
Mutual labels:  event-sourcing
Message Db
Microservice native message and event store for Postgres
Stars: ✭ 1,260 (+1254.84%)
Mutual labels:  event-sourcing

Build Status GitHub NuGet NuGet Twitter

Eveneum is a simple, developer-friendly Event Store with snapshots, backed by Azure Cosmos DB.

var database = "Eveneum";
var collection = "Events";

var client = new CosmosClient("connection-string");
var databaseResponse = await client.CreateDatabaseIfNotExistsAsync(database);
var containerResponse = await databaseResponse.Database
    .CreateContainerIfNotExistsAsync(new ContainerProperties(collection, "/StreamId"));

IEventStore eventStore = new EventStore(client, database, collection);
await eventStore.Initialize();

var streamId = Guid.NewGuid().ToString();
EventData[] events = GetEventsToWrite();
await eventStore.WriteToStream(streamId, events);
await eventStore.CreateSnapshot(streamId, 7, GetSnapshotForVersion(7));
await eventStore.ReadStream(streamId);

Project Goals

The aim of the project is to provide a straightforward implementation of Event Store by utilising the features of Azure Cosmos DB. The library will benefit from automatic indexing, replication and scalability offered by Cosmos DB.

  • Ability to store and read stream of events in a single method call. The library will handle retries and batching,
  • Ability to store and read snapshots, including support for reading a snapshot and only consecutive events,
  • Ability to customize the schema of documents stored in Cosmos DB to allow for rich querying capabilities,
  • Built-in optimistic concurrency checks,
  • "Cosmos DB Change Feed"-friendly design to enable building independent projections using Change Feed.

Wiki

All documentation is available in wiki

Stability

Eveneum has been used in Production in a multi-tenant system since Oct 2018, is considerred stable and is being maintained. Any bugs will be fixed as priority.

Support

Please create issues for all bugs / feature requests here.

If you're looking for training / mentoring in the areas of event-sourcing / CosmosDB than contact me directly.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].