Nestjs Event Store

screenshot of Nestjs Event Store
nestjs

NestJS CQRS module for EventStore.org. It requires @nestjs/cqrs

Overview:

This module serves as a bridge between NestJs and popular event store brokers like Event Store and NATS Streaming, with plans for Kafka support in the future. It provides support for different subscription strategies in EventStore.org and both durable/persistent subscriptions in NATS Streaming.

Features:

  • Support for Event Store: Subscriptions like Volatile, CatchUp, and Persistent are easily implemented.
  • Storage Adapter Interface: Allows for storing catchup events type last checkpoint position.
  • Support for NATS Streaming: Includes both durable/persistent subscription with shared subscription and volatile.

Setup from versions v3.1.15 and above

  1. Setup NATS:
Setup root app module for NATS
Setup async root app module
Setup feature module
  1. Setup Event Store:
Setup root app module for Event Store
Setup async root app module
Setup feature module

Setup from versions v3.0.0 to 3.0.5

  1. Setup root app module:
Setup root app module
Setup async root app module
Setup module

Setup from versions below v2.0.0

  1. Setup root app module:
Setup root app module
Setup module

Summary:

This module offers seamless integration between NestJs and Event Store/NATS Streaming, providing support for different subscription strategies and storage options. With plans for Kafka support, and a simple setup process outlined for different version ranges, this project is licensed under MIT.

nestjs
Nest

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript.

github-pages
GitHub Pages

Gridsome is a Vue.js-based static site generator that makes it easy to build fast and flexible websites and applications by leveraging modern web technologies like GraphQL, Webpack, and hot reloading

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.