ziwon / koa-rest-api-docs

Terraform-Managed Koa RESTful API template to generate Redoc documentation and Swagger console

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Koa REST API Boilerplate

Koa REST API Docs


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

Getting Started

$ 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

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

Test

All test for this boilerplate uses following tools.

API docs

Redoc

open http://localhost:7070/docs

Swagger Console

open http://localhost:7070/console

Contributing

Please contribute to this fork's awesome original repository.

Todo

  • Enable Redoc API console

See Also

  • 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.

License

Provided under the terms of the MIT License.

Copyright © 2017-2020, Byungjin Park, Yeongpil Yoon.

About

Terraform-Managed Koa RESTful API template to generate Redoc documentation and Swagger console

License:MIT License


Languages

Language:JavaScript 52.7%Language:HCL 30.9%Language:Makefile 7.1%Language:Shell 5.6%Language:Dockerfile 2.5%Language:Smarty 1.1%Language:Ruby 0.2%