Nodetomic Api
RESTful API Nodejs designed for horizontal scalability with support for cluster, based on Express, MongoDB, Redis, JWT, Socket.io, Passport.
If you want, the swagger version is also available: nodetomic-api-swagger
Technologies
Horizontal scalability
View horizontal scaling representation image with nodetomic-api HERE!
Structure
/src/
|-- api
| |-- controllers
| |-- models
| |-- sockets
| `-- routers
|-- assets
|-- auth
| |-- controllers
| |-- passports
| |-- services
| `-- routers
|-- config
|-- lib
| |-- express
| |-- mongoose
| |-- redis-jwt
| `-- socket.io
|-- views
`-- app.js
Preview
Development
Production
Requirements
Installation
Npm
git clone https://github.com/kevoj/nodetomic-api
cd nodetomic-api
npm i
Yarn
yarn add nodetomic-api --ignore-engines
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