Skip to content

Typesafe libraries for advanced architectures in Node.js / Nest.js, using DDD, CQRS, Event Sourcing, Event-driven architectures and message queues

Notifications You must be signed in to change notification settings

deepbludev/deepblu

Repository files navigation

@deepblu/ddd

Lightweight Domain Driven Design (DDD) / CQRS / Event Sourcing Typescript library for Node.js

Domain Driven Design (DDD) / CQRS / Event Sourcing library for Typescript.

Domain Driven Design (DDD) is a software development methodology that focuses on the core logic of a software system. It is a way of thinking about software design that emphasizes the core domain and domain logic over technical infrastructure and implementation details.

Command/Query Responsibility Segregation (CQRS) is a pattern that separates read and write application services and models for a data store.

Event Sourcing (ES) is a pattern that stores all changes to application state as a sequence of events, which can then be used to reconstruct the current state of the domain models.

Patterns and practices of DDD / CQRS / ES implemented in this library:

  • Value Object
  • Entity
  • Aggregate Root
  • Domain Event
  • Domain Service
  • Repository
  • Command Bus
  • Command Handler
  • Query Bus
  • Query Handler
  • Event Bus
  • Event Handler

There are working examples in the apps/example folder.

@deepblu/ioc

Lightweight Dependency Injection / Inversion of Control library for Javascript/Typescript built on top of tysringe