mwohlert / turing-microservice

A common basis for Node.js microservices.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

turing-microservice

turing-microservice

build coverage bitHound dependencies devDependencies version license

"We can only see a short distance ahead, but we can see plenty there that needs to be done."
- Alan Turing

A common basis for Node.js microservices.

Breaking Changes

turing-microservice is a work in progress. See CHANGELOG.md for instructions on breaking changes.

Features

  • config module: Adds hierarchical configuration with files, environment variables and command-line arguments.
  • health module: Adds an express route for an health check.
  • logging module: Adds multi-transport async logging.
  • mongo module: Adds a port to mongodb.
  • server module: Adds an express server.
  • status module: Adds aggregation of sub-statuses and express routes for an html and json status report.
  • vault module: Adds a promise for merging secrets from vault with config.

next up:

  • toggles module: Adds feature-toggles support.
    • toggles-mongo module: Adds toggle persistence to mongodb.
  • jobs module: Adds jobs support.
    • jobs-mongo module: Adds jobs persistence to mongodb.
  • hmac module: Adds middleware for hmac authentication.
  • metrics module: Adds metrics support. (e.g. RAM, CPU,...)
  • cache module: Adds application cache support.

Example: turing-example

Contains gulp tasks for:

  • build: Provides webpack configurations for production and development.
  • eslint: Provides verification of code quality with eslint
  • testPublic: Provides testing client-side with karma and generate a coverage report.
  • testServer: Provides testing server-side with mocha and generate a coverage report.
  • watch: Provides live reloading of code during development.

Setup

Install global dependency:

$ npm -g install npm-workspace

Install dependencies:

$ npm-workspace install

Optional

To make IntelliJ development features work properly. (You still have to configure them!)

$ npm install -g eslint eslint-plugin-react gulp

Contributors

  • Benedikt Stemmildt
  • Jonathan Meyer

License

Apache-2.0

About

A common basis for Node.js microservices.

License:Other


Languages

Language:JavaScript 97.3%Language:CSS 1.5%Language:HTML 1.2%