A Node.js CQRS/ES Swagger API Microservice Boilerplate
This is an application boilerplate that demonstrates how to use Nest.js and Event Store to create a RESTful Users API microservice.
Please note that commands have been implemented and they do write into the Event Store, however, queries for denormalized views have some boilerplate but it is up to you to implement them using your favorite database technology of choice.
In case you don't feel like downloading dependencies locally, I've added support for Docker so follow those instructions in "Running the app" and you'll have everything up and running in less than 2 minutes.
Name | Version |
---|---|
EventStore | latest |
Node.js | Dubnium |
TypeScript | 3 |
Docker Compose | 3 |
$ yarn
# development
$ yarn start
# watch mode
$ yarn start:dev
# production mode
$ yarn start:prod
# analyze production mode
$ yarn start:analyze
# using with Docker
$ ./scripts/up.sh # to start
$ ./scripts/down.sh # to stop
Medium Article (Part 1): https://medium.com/@qasimsoomro/building-microservices-using-node-js-with-ddd-cqrs-and-event-sourcing-part-1-of-2-52e0dc3d81df
Medium Article (Part 2): https://medium.com/@qasimsoomro/building-microservices-using-node-js-with-ddd-cqrs-and-event-sourcing-part-2-of-2-9a5f6708e0f
Swagger Explorer URL: http://localhost:7070/api
Event Store URL: http://localhost:2113
# unit tests
$ yarn test
# e2e tests
$ yarn test:e2e
# test coverage
$ yarn test:cov