EventStoreDB is an industrial-strength database technology used for event-sourcing. It is open source and runs on most platforms or as SaaS in Event Store Cloud.
This repository provides practical samples that demonstrate features of EventStoreDB and its client SDKs.
Common operations and samples are in the client repositories
Feel free to create a GitHub issue if you have any questions or request for more explanation or samples.
We're open to any contribution! If you noticed some inconsistency, missing piece, or you'd like to extend existing samples - we're happy to get your Pull Request.
Read more in the Contribution Guidelines
Samples are organized by topics in dedicated directories by programming languages/environments.
Quickstart guides have been created that show you how to stand up a sample Hello World application that appends to and reads from a stream in EventStoreDB.
Find the sample for your preferred client language below:
- .NET: ASP.NET Core sample
- Go: Gin sample
- Java: Spring Boot sample
- Node.js: Express.js sample
- Python: Flask sample
- Rust: Rocket sample
-
Description:
- Demonstrates typical event sourcing with CQRS flow
- Stores events in EventStoreDB
- Shows how to handle the write model and read model
- Builds read models using Subscription to
$all
- Shows how to store read models as ElasticSearch documents
- Shows how to write unit and integration tests
-
Description:
- Demonstrates typical event sourcing with CQRS flow
- Stores events in EventStoreDB
- Shows how to handle the write model and read model
- Builds read models using Subscription to
$all
- Shows how to store read models as Postgres documents
- Shows how to write unit and integration tests
The examples show 2 variations of handling business logic:
-
Description:
- Shows how to protect sensitive data (e.g. for European General Data Protection Regulation) in Event-Sourced Systems.
- Shows how to use the .NET
System.Security.Cryptography
library with AES algorithm to encrypt and decrypt events' data. - Stores events in EventStoreDB
Description
These samples show how to configure various ways of sending logs from EventStoreDB to Elasticsearch:
Check the README.md
file in the specific sample folder for detailed instructions.
Information on EventStoreDB support: https://eventstore.com/support/.
EventStoreDB Documentation: https://developers.eventstore.com/