/kickoff-koa2

An opinionated boilerplate for koa v2 with batteries included

Primary LanguageJavaScriptMIT LicenseMIT

kickoff-koa2

An opinionated boilerplate for koa v2 with batteries included.

Requirements

- Node >=v8.9.4
- NPM >=v4.1.2
- MongoDB

Features

- GraphQL API (Apollo Data)
- Local Authentication using Email and Password (Login, Register)
- Contact form request (powered by Mailgun, Sendgrid or Mandrill)
- File upload using Amazon S3

Setup

  # clone the repository
  λ git clone https://github.com/perminder-klair/kickoff-koa2
  # change the current directory
  λ cd kickoff-koa2
  # install all dependencies
  λ yarn install
  # run the project
  λ yarn start

Included

  • Koa Well, duh.
  • Koa Router For routing and all.
  • Koa Context Validator A robust context validator for koajs.
  • Nodemailer Send e-mails with Node.JS – easy as cake!
  • Mongoose MongoDB object modeling designed to work in an asynchronous environment.
  • Apollo data Tools & Products for GraphQL
  • Bunyan Extensive logging module.
  • AWS SDK AWS SDK for JavaScript in the browser and Node.js. strings.
  • Boom HTTP Errors.
  • Convict Configuration management.
  • Babel Support ES6/ES7 features.
  • ESLint Linting purposes (comes with extended Airbnb's base eslint configurations).
  • Nodemon Restart the server automatically (hot-reloading).

And many more small packages.

Scripts

  • yarn start - simply starts the server
  • yarn test - execute all unit tests
  • yarn run lint - lints all the files in src/ folder
  • yarn run lint:fix - fixes all the possible linting errors
  • yarn run watch - starts the server with hot-reloading

To use Node chrome debug, make sure to install this extension https://chrome.google.com/webstore/detail/nodejs-v8-inspector-manag/gnhhdgbaldcilmgcpfddgdbkhjohddkj/