Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bytesleo/nodetomic-api
NEW VERSION HERE https://github.com/kevoj/nodetomic RESTful API Nodejs designed for horizontal scalability with support for cluster, based on Express, MongoDB, Redis, JWT, Socket.io, Passport.
https://github.com/bytesleo/nodetomic-api
babel es6 expressjs javascript mongodb node-api nodejs nodejs-api nodejs-api-auth nodejs-api-boilerplate nodejs-api-scalability nodejs-authentication nodejs-backend nodejs-boilerplate nodejs-cluster nodejs-framework nodejs-mongodb nodejs-redis nodejs-server nodejs-server-api
Last synced: about 17 hours ago
JSON representation
NEW VERSION HERE https://github.com/kevoj/nodetomic RESTful API Nodejs designed for horizontal scalability with support for cluster, based on Express, MongoDB, Redis, JWT, Socket.io, Passport.
- Host: GitHub
- URL: https://github.com/bytesleo/nodetomic-api
- Owner: bytesleo
- License: mit
- Created: 2017-06-14T16:56:41.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-12-02T23:02:53.000Z (about 2 months ago)
- Last Synced: 2025-01-12T14:08:38.563Z (9 days ago)
- Topics: babel, es6, expressjs, javascript, mongodb, node-api, nodejs, nodejs-api, nodejs-api-auth, nodejs-api-boilerplate, nodejs-api-scalability, nodejs-authentication, nodejs-backend, nodejs-boilerplate, nodejs-cluster, nodejs-framework, nodejs-mongodb, nodejs-redis, nodejs-server, nodejs-server-api
- Language: JavaScript
- Homepage:
- Size: 2.06 MB
- Stars: 81
- Watchers: 5
- Forks: 34
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## ===> NEWS! 🔥🔥 NEW FASTER AND MORE SCALABLE VERSION HERE!
# Nodetomic Api
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/f5084c4bad544b2586e3e973c8e3a336)](https://www.codacy.com/app/kevoj/nodetomic-api?utm_source=github.com&utm_medium=referral&utm_content=kevoj/nodetomic-api&utm_campaign=Badge_Grade) [![NPM version](https://badge.fury.io/js/nodetomic-api.svg)](https://npmjs.org/package/nodetomic-api) [![Build Status](https://travis-ci.org/kevoj/nodetomic-api.svg?branch=master)](https://travis-ci.org/kevoj/nodetomic-api) [![dependencies Status](https://david-dm.org/kevoj/nodetomic-api/status.svg)](https://david-dm.org/kevoj/nodetomic-api) [![devDependencies Status](https://david-dm.org/kevoj/nodetomic-api/dev-status.svg)](https://david-dm.org/kevoj/nodetomic-api?type=dev) [![Gitter chat](https://img.shields.io/gitter/room/kevoj/scaling-fullstack.svg)](https://gitter.im/scaling-fullstack/Lobby) [![GitHub license](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](https://raw.githubusercontent.com/kevoj/nodetomic-api/master/LICENSE) [![Downloads](https://img.shields.io/npm/dt/nodetomic-api.svg?style=flat-square)](https://npmjs.org/package/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
![Imgur](https://i.imgur.com/brGk8Qt.png)##### Production
![Imgur](https://i.imgur.com/2KLfEUq.png)## Requirements
- [Nodejs](https://nodejs.org) >= **6.x.x** (Recommended **9.x.x**)
- [MongoDB](https://www.mongodb.com) >= **3.x.x**
- [Redis](https://redis.io) >= **3.x.x** (Recommended **4.x.x**)## Installation
**Npm**
```bash
git clone https://github.com/kevoj/nodetomic-api
cd nodetomic-api
npm i
```**Yarn**
```bash
yarn add nodetomic-api --ignore-engines
```## Development
### Start
**Command:** `npm start`
**Description:** Start the project in development mode
![Imgur](https://i.imgur.com/dV6o7p9.png)
**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](http://i.imgur.com/NoXdDO4.png)
**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](https://i.imgur.com/bVFqr1f.png)
### Test
**Command:** `npm test`
**Description:** Run Lint and run Build in production mode and execute the authentication methods and basic requests.
![Imgur](http://i.imgur.com/ouKpQg1.png)
### 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](http://i.imgur.com/cNuBVzK.png)
### Dev-Cluster
**Command:** `npm run dev-cluster`
**Description:** Run Pm2 and compile the project in development mode in multiple instances
![Imgur](http://i.imgur.com/wEU2Uz5.png)
## Pm2 [Production]
### Simple
**Command:** `npm run simple`
**Description:** Run Pm2 and compile the project in production mode in a single instance
![Imgur](http://i.imgur.com/tLA2hu7.png)
### Cluster
**Command:** `npm run cluster`
**Description:** Run Pm2 and compile the project in production mode in multiple instances
![Imgur](http://i.imgur.com/HTWJcUk.png)
## 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](https://github.com/kevoj/nodetomic-api/blob/master/LICENSE)