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