2019-01-21 18:09:09 -08:00
2019-01-20 18:12:23 -08:00
2019-01-20 18:12:23 -08:00
2019-01-20 18:12:23 -08:00
2019-01-20 18:12:23 -08:00
2019-01-20 18:12:23 -08:00
2019-01-20 18:12:23 -08:00
2019-01-20 18:12:23 -08:00
2019-01-20 18:12:23 -08:00

babel-free-koa2-api-boilerplate

js-standard-style

Coverage Status

semantic-release

Greenkeeper badge

Boilerplate for building APIs with koa2 and mongodb. This repository is forked from Adrian Obelmejias' koa-api-boilerplate repository. It makes the following modifications:

  • Remove babel as a dependency. This repository is now natively compatible with node v8.9 or higher.

  • Replaced bcrypt dependency with bcryptjs. This improves compatibility across versions of node.js and across OSs.

  • Configured for Travis CI (continuous integration), Coveralls (code coverage), GreenKeeper (automated dependency management), and Semantic Release (automated versioning).

Features

This project covers basic necessities of most APIs.

  • Authentication (passport & jwt)
  • Database (mongoose)
  • Testing (mocha)
  • Doc generation with apidoc
  • linting using standard

Requirements

  • node ^8.9.4
  • npm ^5.7.1

Installation

git clone https://github.com/christroutner/babel-free-koa2-api-boilerplate.git

Structure

├── bin
│   └── server.js            # Bootstrapping and entry point
├── config                   # Server configuration settings
│   ├── env                  # Environment specific config
│   │   ├── common.js
│   │   ├── development.js
│   │   ├── production.js
│   │   └── test.js
│   ├── index.js             # Config entrypoint - exports config according to envionrment and commons
│   └── passport.js          # Passportjs config of strategies
├── src                      # Source code
│   ├── modules
│   │   ├── controller.js    # Module-specific controllers
│   │   └── router.js        # Router definitions for module
│   ├── models               # Mongoose models
│   └── middleware           # Custom middleware
│       └── validators       # Validation middleware
└── test                     # Unit tests

Usage

  • npm start Start server on live mode
  • npm run dev Start server on dev mode with nodemon
  • npm run docs Generate API documentation
  • npm test Run mocha tests

Documentation

API documentation is written inline and generated by apidoc.

Visit http://localhost:5000/docs/ to view docs

Dependencies

License

MIT

Languages
JavaScript 99.1%
Shell 0.9%