goes - Event-Sourcing Framework
goes
is a collection of interfaces, tools, and backend implementations that allow you to write event-sourced applicatios in Go.
If you have any questions or feedback, feel free to open an issue or start a discussion.
Getting Started
Installation
goes is not yet versioned because the API still changes too often. Install using a specific commit hash and make sure to install nested modules with /...
go get github.com/modernice/goes/...@<commit-hash>
Examples
Introduction
This documentation assumes knowledge of CQRS, event-sourcing, and other related concepts. Please make yourself familiar with these before reading further.
Features
- Event Store Implementations (In-Memory, MongoDB)
- Distributed Event Bus (NATS Core / NATS JetStream)
- Distributed, event-driven Command Bus
- Aggregate Framework
- Projection Framework
- SAGAs
- Pre-built Modules
Components
goes provides incrementally adoptable components that together form a complete framework for building event-sourced applications. Read a component's README for a guide on how to use it.
Backends
Event Bus
Event Store
Contributing
TBD