Api Boilerplate

screenshot of Api Boilerplate
express

Api Boilerplate

Node ES6 Express REST API boilerplate with Postgres Sequelize and Gulp

Overview

The Amida API Boilerplate is a boilerplate application designed for building REST APIs in Node.js using ES6 and Express. It is specifically intended for use with PostgreSQL and utilizes the Sequelize ORM.

Features

  • ES6 via Babel: Supports ES6 syntax using Babel.
  • Authentication via JsonWebToken: Provides authentication using jsonwebtoken.
  • Code Linting: Utilizes the airbnb-base style guide with ESLint for parsing modern ES6 syntax.
  • Auto server restart: Restarts the server in real-time using nodemon whenever an edit is made, with babel compilation and eslint.
  • ES6 Code Coverage via Jest: Supports code coverage of ES6 code using Jest. Code coverage reports are saved in the coverage/ directory.
  • Debugging via debug: Offers a debug function for easily debugging code.
  • Promisified Code via bluebird: All code is promisified, including tests via supertest-as-promised.
  • API parameter validation via express-validation: Allows validation of request body, params, query, headers, and cookies via middleware.
  • Pre-commit hooks: Runs linting and tests before each commit to ensure quality code is committed.
  • Secure app via helmet: Enhances security of Express apps by setting various HTTP headers.
  • Uses yarn over npm: Utilizes yarn package manager.

Installation

To get started with the Amida API Boilerplate, follow these steps:

  1. Install yarn:
npm install -g yarn
  1. Install dependencies:
yarn install
  1. Set environment variables:
cp .env.example .env
  1. Start the server:
yarn start
  1. Run tests:
yarn test
  1. Lint code:
yarn lint
  1. Additional gulp tasks can be found in the documentation.

Summary

The Amida API Boilerplate is a powerful tool for building REST APIs in Node.js. It offers a range of features including ES6 support, authentication, code linting, and more. With its easy installation process and comprehensive documentation, it provides developers with a solid foundation for building robust and efficient APIs.

express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

fullstack
Fullstack Boilerplates

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

gulp
Gulp

Gulp.js is an old but popular site building tool that automates various repetitive development tasks in web development, such as compiling Sass, minifying JavaScript, and optimizing images.

webpack
Webpack

Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.