/node-api-example

REST API Node Example

Primary LanguageJavaScript

REST API Node Example

Example API built with Node Express, populates an in-memory MongoDB instance with seed data.

Features

  • Web API: Express web framework
  • NoSQL database: MongoDB object data modeling using Mongoose
  • API documentation: with swagger-jsdoc and swagger-ui-express
  • Validation: request data validation using Joi
  • Logging: using winston and morgan
  • Error handling: centralized error handling mechanism
  • Process management: advanced production process management using PM2
  • Environment variables: using dotenv and cross-env
  • Sanitizing: sanitize request data against xss and query injection
  • CORS: Cross-Origin Resource-Sharing enabled using cors
  • Compression: gzip compression with compression
  • Testing: unit and integration tests using Jest
  • Code coverage: using coveralls
  • Linting: with ESLint and Prettier
  • Editor config: consistent editor configuration using EditorConfig

Getting Started

npm install

Set the environment variables:

cp .env.example .env

Start dev via:

npm run dev

Connect to the Swagger UI API documentation:

http://localhost:3000/v1/docs/