Overview:
The React Redux Boilerplate is a full-fledged workflow boilerplate for building complex React/Redux applications. It provides a virtual development environment and a production-ready build process framework out of the box. This boilerplate showcases a subset of technologies currently used by the team and aims to give candidates confidence in using up-to-date technologies in the industry. It is not meant to teach coding in React/Redux, but rather to streamline the development process for complex projects.
Features:
- React 16.6
- Redux Saga
- ES6/ES7
- Immutable.js
- JSPreCSS (SASS-like markup in CSS)
- PostCSS (with CSS modules)
- Webpack 4
- Reselect
- i18n/10n support (react-intl)
- Lazy loading component support
- Type checking with Babel Type Check (Flow syntax)
- ESLint for syntax check
- Jest and Enzyme for unit testing
- Development features include hot module reload, lightweight config system, fancy CLI dashboard for runtime compile status, and support for multiple device concurrent debugging.
- Production features include production bundle analyzing, CSS/HTML/JS minification, image optimization, and JS code duplication removal (tree shaking capability).
- Deployment features include built-in git commit hook for CI/CD process, and an optional process to deploy files directly to S3.
- Highly-configurable build and workflow system (Webpack)
- Minimal setup time, allowing developers to focus on development
Installation:
To get started with the React Redux Boilerplate, follow these steps:
Step 1: Clone this repo
git clone [repo-url]
Step 2: Install
npm install
Step 3: Start
npm start
And done! The setup process is as easy as 1-2-3.
Summary:
The React Redux Boilerplate is a workflow boilerplate that simplifies development for complex React/Redux projects. It offers a range of features for both development and production, including support for popular technologies such as React 16.6, Redux Saga, and ES6/ES7. With its highly-configurable build and workflow system, developers can focus on building their applications with minimal setup time.