generator-node-express-fast-progress

0.2.3 • Public • Published

Node.js REST API with Express Mongoose

CircleCI branch npm Plugin on redmine.org onix

Node.js Express API with vanilla JS. Supports MongoDB(mongoose)

See node-express-typescript-api if you need TypeScript

Description

This generator will help you to build your own Node.js REST API with Express Mongoose.

Project Introduction

Requirements

  • node >= 12
  • npm >= 6
  • mongodb >= 4.0

Installation

First, install Yeoman and generator-node-express-fast-progress using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-node-express-fast-progress

Then generate your new project:

yo node-express-fast-progress

App skeleton

.
├── LICENSE
├── README.MD
├── nodemon.json
├── package-lock.json
├── package.json
└── src
    ├── components
    │   ├── User
    │   │   ├── index.js
    │   │   ├── model.js
    │   │   ├── router.js
    │   │   ├── service.js
    │   │   └── validation.js
    │   └── validation.js
    ├── config
    │   ├── connection.js
    │   ├── middleware.js
    │   └── router.js
    ├── error
    │   └── ValidationError.js
    └── server
        ├── events.js
        ├── index.js
        └── server.js

Running the API

Development

To start the application in development mode, run:

npm install -g nodemon
npm install

Start the application in dev env:

nodemon

Start the application in production env:

Install forever PM2:

npm install -g pm2

example start with scale on 2 core:

pm2 start ./src/index.js -i 2 --no-daemon

Express server listening on http://localhost:3000/, in development mode The developer mode will watch your changes and re-run the node application automatically.

Find User

   curl --location --request GET 'localhost:3000/v1/users'

Create User

   curl --location --request POST 'localhost:3000/v1/users' \
   --header 'Content-Type: application/json' \
   --data-raw '{
      "email": "test@gmail.com",
      "fullName": "Wow Yay"
   }'

Update User

   curl --location --request PUT 'localhost:3000/v1/users' \
   --header 'Content-Type: application/json' \
   --data-raw '{
      "id": "5e50265429fbb59255fb8428",
      "fullName": "Yay Foo"
   }'

Delete User

   curl --location --request DELETE 'localhost:3000/v1/users' \
   --header 'Content-Type: application/json' \
   --data-raw '{
      "id": "5e502541bb617386c48f6a8c"
   }'

Getting To Know Yeoman

  • Yeoman has a heart of gold.
  • Yeoman is a person with feelings and opinions, but is very easy to work with.
  • Yeoman can be too opinionated at times but is easily convinced not to be.
  • Feel free to learn more about Yeoman.

Package Sidebar

Install

npm i generator-node-express-fast-progress

Weekly Downloads

0

Version

0.2.3

License

Apache-2.0

Unpacked Size

42.1 kB

Total Files

24

Last publish

Collaborators

  • mykolamak
  • adoric