Skip to content

v-checha/node-express-fast-progress

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published