An open API service indexing awesome lists of open source software.

https://github.com/castore-dev/castore

Making Event Sourcing easy 😎
https://github.com/castore-dev/castore

castore cqrs devx dynamodb event-sourcing events eventstore hacktoberfest javascript nodejs serverless typescript

Last synced: 8 months ago
JSON representation

Making Event Sourcing easy 😎

Awesome Lists containing this project

README

          



Castore













💖 _Huge thanks to the [sponsors](https://github.com/sponsors/ThomasAribart) who help me maintain this repo:_


Theodo  
feathers.dev  lijianan  Raees Iqbal  Lucas Saldanha Ferreira  Syntax  
Plus sign

# Making Event Sourcing easy 😎

[Event Sourcing](https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing) is a data storage paradigm that saves **changes in your application state** rather than the state itself.

It is powerful as it enables **rewinding to a previous state** and **exploring audit trails** for debugging or business/legal purposes. It also integrates very well with [event-driven architectures](https://en.wikipedia.org/wiki/Event-driven_architecture).

However, it is **tricky to implement** 😅

After years of using it at [Theodo](https://dev.to/slsbytheodo), we have grown to love it, but also experienced first-hand the lack of consensus and tooling around it. That's where Castore comes from!

---


Castore is a TypeScript library that makes Event Sourcing easy 😎

---

## Features

**🙈 Stack agnostic**: Can be used in any JS context (web apps, containers, lambdas... you name it 🙌)

**🕊️ Light-weight**: _opt-in_ packages only

**🏋️ Type-safety** pushed to the limit

**📐 Validation library agnostic** ([Zod](https://github.com/colinhacks/zod), [JSON schema](https://github.com/ThomasAribart/json-schema-to-ts)...) with support for type inference

**😍 On-the-shelf adapters** for [Redux](https://redux.js.org/), [DynamoDB](https://aws.amazon.com/dynamodb/), [SQS](https://aws.amazon.com/sqs/), [EventBridge](https://aws.amazon.com/eventbridge/) and more

**🎯 Test tools** included

**🔧 Migration & maintenance utils** available

**🎨 React components** to visualize and model your event stores

And much more to come 🙌: Admin, snapshots, read models...

## Visit the 👉 [official documentation](https://castore-dev.github.io/castore/) 👈 to get started!

### [Become a Sponsor!](https://github.com/sponsors/thomasaribart/)