PROJECT / 01 — EVENT SOURCING / CQRS
go-mink
History is a feature. Some systems need to explain how they reached their current state. go-mink provides building blocks for event sourcing and CQRS in Go, inspired by the ideas behind MartenDB.
The interesting problem.
An event store is only one piece of an application. Developers also need a clear way to work with aggregates, build read models, and reason about concurrency as a domain changes.
The approach.
A pluggable event store, PostgreSQL and memory adapters, aggregate handling, and projection tools give those responsibilities explicit boundaries. The repository documents the capabilities and their tradeoffs.
Inside the project
- Event streams and optimistic concurrency
- PostgreSQL and in-memory adapters
- Projections and aggregate management
- Testing utilities for event-driven code
Event sourcing is a design choice, not a default for every application. Start with the questions your system needs its history to answer.
// KEEP EXPLORING
Back to the projects