Javascript Boilerplate screenshot

Javascript Boilerplate

Author Avatar Theme by Marmelab
Updated: 17 Apr 2019
251 Stars

Node.js+Koa.js+PostgreSQL+React.js+Webpack+Mocha+Makefile, a starter kit for new apps

Categories

Overview

The marmelab-boilerplate is a starter kit for new apps that provides a solid foundation for building applications. It is built using modern technologies such as ES6, React.js, Redux, and Node.js. The boilerplate includes features such as Babel transpilation, a Node.js API built on Koa.js, automated CRUD resources, robustness and security for the API, database migration handling, production-level logging, CORS support, and more. The frontend is built with React, Redux, and Redux-saga, while the admin app is built with React.js and admin-on-rest. The boilerplate also comes with a sample app with three domains: users, products, and orders.

Features

  • Babel transpilation for both client and server code
  • Node.js API built on top of Koa.js for cleaner async code
  • Automated CRUD resources based on a PostgreSQL database
  • State-of-the-art robustness and security for the API
  • Separated API for the admin with different security settings
  • Built-in database migration handling
  • Production-level logging
  • CORS support
  • Fully automated start and stop
  • Auto-reload of Node.js code upon modification
  • Frontend app built with React, Redux, Redux-saga, and React-router
  • SASS preprocessor
  • Non-trivial example with several routes, Ajax calls, and functional tests
  • Fully automated build with webpack
  • Admin app built with React.js and admin-on-rest
  • Full-featured admin panel with references
  • Unified test build running unit and functional tests on all apps
  • AWS deployment automated by Fabric
  • Sensible eslint defaults based on Airbnb’s rules

Installation

Requirements:

  • Node.js v5
  • PostgreSQL
  • openjdk-8-jre (to install selenium-standalone)

To install the marmelab-boilerplate, follow these steps:

  1. Clone the repository: git clone <repository url>
  2. Install dependencies: npm install
  3. Configure the project for your desired environment by setting the NODE_ENV variable. You can use supervisor to set the variable on production servers.
  4. Start the development server: npm run dev

Summary

The marmelab-boilerplate is a comprehensive starter kit for building applications. It provides a solid foundation with modern technologies such as ES6, React.js, Redux, and Node.js. The boilerplate includes a range of features including Babel transpilation, a robust API built on Koa.js, automated CRUD resources, production-level logging, and more. It also comes with a sample app and a full-featured admin panel. The installation process is straightforward, requiring Node.js, PostgreSQL, and openjdk-8-jre. Overall, the marmelab-boilerplate offers a powerful toolkit for developers to quickly start building their applications.