Full stack Event Sourcing, DDD framework for Node.js
Reventex is published on NPM with full typing support. To install use
npm install reventex
This will allow you to import Reventex entirely using:
import { projection } from 'reventex/server';
The target of a process. In Bookings, a booking. In Customer Payments, a payment.
A fact that something happened. Booking was created, order was received, a step was unsuccessful.
A reaction to an event that has occurred. An order was received, reduce the inventory count by 1.
Over time, the current state of an entity changes. A booking can go from booked to cancelled. An applicator, takes each event, extracts the interesting information out and applies it to a model.
The result of iterating through all of the applicators is the projection of the model.
Is responsible for the flow of the process. Can take wait for multiple events to occur, then continue on with the process. The implementation of what is usually drawn in a sequence diagram. For example, The process will not take charge a customer until all the items in the shopping cart are reserved(a parallel process).
Please use Github Issues to report bugs or request features.
Please follow these steps to report a bug
-
Search for related issues - search the existing issues so that you don't create duplicates
-
Create a testcase - Please create the smallest isolated testcase that you can that reproduces your bug
-
Share as much information as possible - everything little helps, OS, node/browser version, all that stuff.
If you are contributing a bug-fix or a very minor addition, feel free to do a pull request on the master branch.
If it is something else create a new (or existing) feature branch (eg: feature/my-feature
) and issue a pull request on that.
If unsure, create an issue to discuss.
- Twitter: https://twitter.com/reventexjs
Reventex is released under the MIT License.