/nodetomic-api-swagger

RESTful API Nodejs designed for horizontal scalability with support for cluster, based on Swagger, Redis, JWT, Passport, Socket.io, Express, MongoDB.

Primary LanguageJavaScriptMIT LicenseMIT

👉👉👉 NEW REPOSITORY ---> HERE! 👈👈👈




Nodetomic Api Swagger

Codacy Badge NPM version Build Status dependencies Status devDependencies Status Gitter chat GitHub license Downloads

RESTful API Nodejs designed for horizontal scalability with support for cluster, based on Swagger, Redis, JWT, Passport, Socket.io, Express, MongoDB.

Technologies

Preview

url: http://localhost:8000/socket

Swagger Api

url: http://localhost:8000/docs

OpenAPI Spec compatibility: 2.0, 3.0

Horizontal scalability

View horizontal scaling representation image with nodetomic-api-swagger HERE!

Structure

 
/src/
|-- api
|   |-- swagger
|   |-- controllers
|   |-- models
|   `-- sockets
|-- assets
|-- auth
|   |-- swagger
|   |-- controllers
|   |-- passports
|   `-- services
|-- config
|-- lib
|   |-- express
|   |-- mongoose
|   |-- redis-jwt
|   |-- socket.io
|   `-- swagger
|-- views
`-- app.js

Requirements

  • Nodejs >= 6.x.x (Recommended last version)
  • MongoDB >= 3.x.x
  • Redis >= 3.x.x (Recommended last version)

Installation

Npm

git clone https://github.com/kevoj/nodetomic-api-swagger
cd nodetomic-api-swagger
npm i

Yarn

yarn add nodetomic-api-swagger --ignore-engines

Development

Start

Command: npm start

Description: Start the project in development mode

Imgur

Note: if you want work with nodemon execute the command npm run modemon

Build

Command: npm run build

Description: Compile the project by outputting the dist folder

Imgur

Note: Generate folder dist. So "dist/client" is optional. You can paste the compilation of a client here, for example of Vue, React, Angular...

Imgur

Test

Command: npm test

Description: Run Lint and run Build in production mode and execute the authentication methods and basic requests.

Imgur

Lint

Command: npm run lint

Description: Run ESLint to verify the entire project code


Pm2 [Development]

Dev-Simple

Command: npm run dev-simple

Description: Run Pm2 and compile the project in development mode in a single instance

Imgur

Dev-Cluster

Command: npm run dev-cluster

Description: Run Pm2 and compile the project in development mode in multiple instances

Imgur

Pm2 [Production]

Simple

Command: npm run simple

Description: Run Pm2 and compile the project in production mode in a single instance

Imgur

Cluster

Command: npm run cluster

Description: Run Pm2 and compile the project in production mode in multiple instances

Imgur

Stop

Pm2

Command: npm stop

Description: Stops all processes associated with project pm2

Node

Command: killall node

Description: Destroyed all process for node

API Docs

You can find the documentation HERE!

License

MIT © Leonardo Rico