Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

CQRS, EventSourcing, (DDDD) Sample in node.js

branch: master
README.markdown

Introduction

This is a sample implementation of CQRS / Eventsourcing Infrastructure in node.js using:

get it up and running

  1. start redis server

    cd redis-x.x.x
    // make
    ./src/redis-server
    
  2. start server in host and domain folder

    node server.js
    
  3. direct your browser to

    http://localhost:3000
    

the source code is well documented to understand the core principles.

why should i care?

got the sample - where to go now?

As of today i know of three implementations for doing (D)DDD / CQRS in node.js. Building a codebase for production is a whole different thing to doing a little show case / demo code. If it can break - it will break.

adrai's modules

This modules are the result of open sourcing parts of a large reallife project of a distributed system based on the principle of DDDD and CQRS. It's gone through a lot of iterations and should address most pitfalls.

The API is designed well so you can focus on the domain without worring to much about the infrastructure.

Documentation can be found here

brightas's modules

Looking promising but still work in progress - hopefully reaching it's primetime soon.

petrjanda's module

Framework for non distributed system using couchDb as storage.

goloroden's modules

Easy to read codebase to study further on how to do cqrs in node.js.

complete list can be found under node modules

Which one to choose?

  1. If your project is simple enough to be implemented in a traditional way - go for the traditional approach

  2. If your project really profits from doing DDDD / CQRS it might be a good idea to create your own codebase (it's not to complicated, and compared to the overall project size worth the effort as it's the core of your distributed system)

  3. If you need to get fast results and more than a sample - i would try adrai's modules.

Something went wrong with that request. Please try again.