Skip to content

Latest commit

 

History

History
65 lines (43 loc) · 3.72 KB

README.md

File metadata and controls

65 lines (43 loc) · 3.72 KB

Castore



💖 Huge thanks to the sponsors who help me maintain this repo:

Theodo   Feathers Cloud  lijianan  Raees Iqbal  Sentry  Lucas Saldanha Ferreira   Plus sign

Making Event Sourcing easy 😎

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.

However, it is tricky to implement 😅

After years of using it at Theodo, 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, JSON schema...) with support for type inference

😍 On-the-shelf adapters for Redux, DynamoDB, SQS, 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 👈 to get started!