Nodetomic Api Swagger

RESTful API Nodejs designed for horizontal scalability, based on Swagger, Redis, JWT, Passport, Socket.io, Express, MongoDB. Supports clustering!

Preview
url: http://localhost:8000/socket

Swagger Api
url: http://localhost:8000/docs
Technologies

Horizontal scalability
View horizontal scaling representation image with nodetomic-api-swagger HERE!
Requirements
Installation
git clone https://github.com/kevoj/nodetomic-api-swagger
cd nodetomic-api-swagger
npm i
Development
Start
Command: npm start
Description: Start the project in development mode

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

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

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

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

Dev-Cluster
Command: npm run dev-cluster
Description: Run Pm2 and compile the project in development mode in multiple instances

Pm2 [Production]
Simple
Command: npm run simple
Description: Run Pm2 and compile the project in production mode in a single instance

Cluster
Command: npm run cluster
Description: Run Pm2 and compile the project in production mode in multiple instances

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