Skip to content

Latest commit

 

History

History
118 lines (87 loc) · 4.03 KB

README.md

File metadata and controls

118 lines (87 loc) · 4.03 KB
Koa REST API Boilerplate

Koa REST API Boilerplate

Boilerplate for Node.js Koa RESTful API application with Docker, Swagger, Jest, Coveralls, and Circle CI


Koa REST API Boilerplate is a highly opinionated boilerplate template for building RESTful API application with Koa.

This boilerplate include the following features:

  • Multi-process clustering with production-ready process manager PM2
  • Log rotation and log management using Bunyan
  • A super small and optimized Docker image based on Alpine image
  • Swagger API documentation based on JSDoc
  • Continuous integration and delivery using CircleCI
  • Unit Test and Integration Test along with Test Coverage using Jest testing framework

Getting Started

$ git clone https://github.com/posquit0/koa-rest-api-boilerplate your-project-name
$ cd your-project-name
$ rm -rf .git && git init
$ yarn
$ yarn start

Commands

Run

# Run normally
$ yarn start
# Run the application with nodemon for development
$ yarn dev

Test

# Test
$ yarn test                           # Run all test
$ yarn test:unit                      # Run only unit test
$ yarn test:integration               # Run only integration test
# Test (Watch Mode for development)
$ yarn test:watch                     # Run all test with watch mode
$ yarn test:watch:unit                # Run only unit test with watch mode
$ yarn test:watch:integration         # Run only integration test with watch mode
# Test Coverage
$ yarn test:coverage                  # Calculate the coverage of all test
$ yarn test:coverage:unit             # Calculate the coverage of unit test
$ yarn test:coverage:integration      # Calculate the coverage of integration test
# Test consistent coding style (Lint)
$ yarn lint                           # Lint all sourcecode
$ yarn lint:app                       # Lint app sourcecode
$ yarn lint:test                      # Lint test sourcecode

Archive

$ yarn pack

Contributing

This project follows the Contributor Covenant Code of Conduct.

Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or ask feature requests.

Contact

If you have any questions, feel free to join me at #posquit0 on Freenode and ask away. Click here to connect.

License

Provided under the terms of the MIT License.

Copyright © 2018, Byungjin Park.