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:
- Clone the repository:
git clone <repository url> - Install dependencies:
npm install - Configure the project for your desired environment by setting the NODE_ENV variable. You can use
supervisorto set the variable on production servers. - 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.