All Projects → posquit0 → Koa Rest Api Boilerplate

posquit0 / Koa Rest Api Boilerplate

Licence: mit
💯 Boilerplate for Node.js Koa RESTful API application with Docker, Swagger, Jest, CodeCov and CircleCI

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Koa Rest Api Boilerplate

Koa Vue Notes Api
🤓 This is a simple SPA built using Koa as the backend, Vue as the first frontend, and React as the second frontend. Features MySQL integration, user authentication, CRUD note actions, and async/await.
Stars: ✭ 342 (-18.57%)
Mutual labels:  api, koa, pm2, boilerplate, template
Koa Restful Boilerplate
Koa 2 RESTful API boilerplate
Stars: ✭ 146 (-65.24%)
Mutual labels:  rest, restful, koa2, boilerplate
Koa2 Api Scaffold
一个基于Koa2的轻量级RESTful API Server脚手架。
Stars: ✭ 694 (+65.24%)
Mutual labels:  api, restful, koa, koa2
Flask Restplus
Fully featured framework for fast, easy and documented API development with Flask
Stars: ✭ 2,585 (+515.48%)
Mutual labels:  api, rest, swagger, restful
Flask Restx
Fork of Flask-RESTPlus: Fully featured framework for fast, easy and documented API development with Flask
Stars: ✭ 1,050 (+150%)
Mutual labels:  api, rest, swagger, restful
Strapi
🚀 Open source Node.js Headless CMS to easily build customisable APIs
Stars: ✭ 41,786 (+9849.05%)
Mutual labels:  api, rest, koa, koa2
Golang Gin Realworld Example App
Exemplary real world application built with Golang + Gin
Stars: ✭ 1,780 (+323.81%)
Mutual labels:  api, rest, restful, boilerplate
Flama
🔥 Fire up your API with this flamethrower
Stars: ✭ 161 (-61.67%)
Mutual labels:  api, rest, swagger, restful
Fastapi Gino Arq Uvicorn
High-performance Async REST API, in Python. FastAPI + GINO + Arq + Uvicorn (w/ Redis and PostgreSQL).
Stars: ✭ 204 (-51.43%)
Mutual labels:  api, rest, swagger
Flasgger
Easy OpenAPI specs and Swagger UI for your Flask API
Stars: ✭ 2,825 (+572.62%)
Mutual labels:  api, swagger, restful
Templates
.NET project templates with batteries included, providing the minimum amount of code required to get you going faster.
Stars: ✭ 2,864 (+581.9%)
Mutual labels:  api, swagger, template
Hapi Openapi
Build design-driven apis with OpenAPI (formerly swagger) 2.0 and hapi.
Stars: ✭ 196 (-53.33%)
Mutual labels:  api, rest, swagger
Blog Service
blog service @nestjs
Stars: ✭ 188 (-55.24%)
Mutual labels:  api, koa, koa2
Graphql2rest
GraphQL to REST converter: automatically generate a RESTful API from your existing GraphQL API
Stars: ✭ 181 (-56.9%)
Mutual labels:  api, rest, restful
Http Fake Backend
Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 253 (-39.76%)
Mutual labels:  api, rest, restful
Strapi Sdk Javascript
🔌 Official JavaScript SDK for APIs built with Strapi.
Stars: ✭ 247 (-41.19%)
Mutual labels:  api, koa, koa2
Proteus
Lean, mean, and incredibly fast JVM framework for web and microservice development.
Stars: ✭ 178 (-57.62%)
Mutual labels:  api, rest, swagger
Mockoon
Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
Stars: ✭ 3,448 (+720.95%)
Mutual labels:  api, rest, swagger
Go Api Boilerplate
Go Server/API boilerplate using best practices DDD CQRS ES gRPC
Stars: ✭ 373 (-11.19%)
Mutual labels:  api, restful, boilerplate
Horse
Fast, opinionated, minimalist web framework for Delphi
Stars: ✭ 295 (-29.76%)
Mutual labels:  api, rest, restful
Koa REST API Boilerplate

Koa REST API Boilerplate

Boilerplate for Node.js Koa RESTful API application with Docker, Swagger, Jest, CodeCov, 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:

  • Logging to STDOUT/STDERR stream using Pino
  • A super small and optimized Docker image based on Node.js 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⌚️unit                # Run only unit test with watch mode
$ yarn test⌚️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.

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.

Self Promotion

Like this project? Please give it a ★ on GitHub! It helps this project a lot. And if you're feeling especially charitable, follow posquit0 on GitHub.

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-2019, Byungjin Park.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].