Skip to content

pcprinz/DDD-basics

Repository files navigation

ddd-basics

GitHub release (latest by date) GitHub Release Date GitHub branch checks state npm bundle size GitHub Coverage Badge

THIS PAGE IS STILL UNDER CONSTRUCTION!!

Documentation

Visit the Documentation for detailed information about all parts of this repo

The general approach for this repo is to implement the documentation as ts-doc. That's why full documentation is always on the Documentation.

Usage

This library is currently divided into 3 modules:

  1. Basic - includes general classes like:
    • Entity - an abstract class with an inbuilt identifier
    • Serializable - an abstract class for serializing private properties
    • Result - the result of a validation (e.g. when creating ValueObjects)
  2. Events - Domain Event Synchronization
    • DomainEvent - an event to be sent from a handler to a subscription callback
    • EventHandler - implements classic event handling (typesafe)
    • EventCombiner - combines subscriptions to multiple EventHandlers
  3. ValueObjects - includes a variety of predefined ValueObjects with inbuilt validation for extendable purposes.

Installation

npm:

npm i --save ddd-basics

yarn:

yarn add ddd-basics.

Dependencies

  • uuid (v4)