Skip to content
A cloud native node microservice boilerplate based on the hexagonal architecture
JavaScript Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config chore: setup RabbitMQ broker Oct 9, 2019
jest chore: setup Jest for unit tests Oct 9, 2019
src chore: setup RabbitMQ broker Oct 9, 2019
.babelrc chore: setup RabbitMQ broker Oct 9, 2019
.commitlintrc.js
.dockerignore chore(docker): add basic Dockerfile Oct 9, 2019
.env.sample
.eslintignore
.eslintrc chore: configure module-resolver plugin for babel Oct 9, 2019
.gitignore docs: setup APIDocs Oct 9, 2019
.jsdoc.json chore: configure jsdoc Oct 9, 2019
.prettierrc chore(linting): setup ESLint with Prettier Oct 9, 2019
Dockerfile
LICENSE Initial commit Oct 7, 2019
README.md docs: update Readme with essentials Oct 9, 2019
apidoc.json docs: setup APIDocs Oct 9, 2019
docker-compose.env.sample chore: setup docker-compose Oct 9, 2019
docker-compose.yml chore: setup docker-compose Oct 9, 2019
ecosystem.config.js chore: setup PM2 process manager Oct 9, 2019
package.json chore: add NPM script for debugging the project Oct 9, 2019
yarn.lock docs: setup APIDocs Oct 9, 2019

README.md

hexagonal-cloud-native-node 🚀

A cloud native node microservice boilerplate based on the hexagonal architecture

This is work in progress

About

This WIP boilerplate aims to be a solid example of how a modern, cloud-native Node.js based microservice could look like based on the hexagonal architecture - an architecture focused around Use Cases.

TODO

  • Polish domain logic
  • Add MongoDB driven adapter
  • Add PostgresDB driven adapter
  • Add Kafka driver adapter
  • Add GRPC driver
  • Add tests
  • Add tracing with opentracing + Jaeger

Getting started

You'll need to have:

  • git: ^2.11
  • node: ^10
  • npm: ^6.5
  • yarn: ^1.15
  • Docker

Then perform the following steps

$ cp .env.sample .env
$ cp docker-compose.env.sample docker-compose.env

Development

# start in development mode using nodemon
yarn dev

# run tests
yarn test

# start in debug mode
yarn debug

# run linters (eslint + prettier)
yarn lint

# drive through cli
yarn cmd

# create production build
yarn build

# start production build
yarn start

Docs

# Generate JS docs
$ yarn jsdoc

# Generate API docs
$ yarn apidoc
You can’t perform that action at this time.