Skip to content

go-estoria/estoria

Repository files navigation

estoria

Estoria is an event sourcing toolkit for Go.

Note: This project is in early beta. While functional, the API is not yet stable and is not suitable for production use.

Event sourcing enables you to model your application as a series of state-changing events. This approach can make it easier to reason about your application's behavior, as well as to implement features like auditing, replay, and time travel.

Estoria provides composable components for implementing event sourcing in a Go application, including:

  • Event-based aggregate state management
  • Flexible event store implementations
  • Transactional outbox processing
  • Aggregate snapshotting
  • Aggregate caching
  • Lifecycle hooks

Getting Started

go get github.com/go-estoria/estoria

See estoria-examples for runnable API usage examples.

Component Providers

See estoria-contrib for officially-supported event store, snapshot store, and aggregate cache implementations.

License

Estoria is licensed under the MIT License.

About

Estoria is an event sourcing toolkit for Go

Resources

Stars

Watchers

Forks

Packages

No packages published