Koa REST API Docs is a fork of posquit0/koa-rest-api-boilerplate integrated with koa-joi-router-docs for generating Redoc API documentation and Swagger API console based on joi-router
This boilerplate include the following features:
- Logging to STDOUT/STDERR stream using Pino
- A super small and optimized Docker image based on Node.js Alpine image
- Continuous integration and delivery using CircleCI
- Unit Test and Integration Test along with Test Coverage using Jest testing framework
- Generating Redoc API documentation and Swagger API console
$ git clone https://github.com/ziwon/koa-rest-api-docs your-project-name
$ cd your-project-name
$ rm -rf .git && git init
$ yarn
$ yarn start
# Run normally
$ yarn start
# Run the application with nodemon for development
$ yarn dev
# 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
$ yarn pack
All test for this boilerplate uses following tools.
open http://localhost:7070/docs
open http://localhost:7070/console
Please contribute to this fork's awesome original repository.
- Enable Redoc API console
- koa-logging - A middleware that logs request and response with Pino.
- koa-request-id - A middleware that generates a unique Request ID for every incoming HTTP request.
- koa-http-client - A middleware that attachs HTTP client to communicate with the context during inter-service communications.
Provided under the terms of the MIT License.
Copyright © 2017-2020, Byungjin Park, Yeongpil Yoon.