/node-api

Backend API using the latest technologies and standards. Built to scale

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Node API

Build Status Codacy Badge Maintainability BCH compliance Coverage Status GitHub Release Date GitHub package.json version GitHub

Backend API using the latest technologies and standards. Built to scale

Features

  • RESTful Architecture
  • Easy-to-read code
  • Built with Scalability in mind
  • TypeScript
  • Express
  • MongoDB
  • Docker
  • Process Management and Clustering using PM2
  • Unit and Integration testing ready
  • API Documentation using SwaggerUI
  • Authentication and Authorization (JWT and Role based)
  • Middleware Handling
  • Error Handling
  • Security Headers (Rate limiting, CORS, XSS, CSRF*)

(* not yet implemented)

Requirements

  • Node >= 8.16.1
  • NPM >= 6.4.1
  • Yarn >= 1.15.2
  • Docker-Compose >= 1.24.0

Build Setup

# run using docker
$ docker-compose up -d

# install dependencies
$ yarn install

# serve with hot reload at localhost:4000
$ yarn dev

# run tests
$ yarn test

# build for production and launch server
$ yarn prod

Enivronment Variables

SECRET # for JWT encoding
API_VER # current version of the API
DB_URL # url for the mongo database

License

GNU General Public License v3.0