Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/amin52j/react-redux-enterprise

A React-Redux boilerplate for enterprise/large scaled web applications
https://github.com/amin52j/react-redux-enterprise

boilerplate enterprise enzyme esdoc eslint javascript jest react react-redux react-redux-boilerplate react-redux-enterprise react-router-redux react-router-v4 redux redux-observable redux-persist rxjs styled-components template webpack

Last synced: 21 days ago
JSON representation

A React-Redux boilerplate for enterprise/large scaled web applications

Awesome Lists containing this project

README

        

# React-Redux-Enterprise

[![stars](https://img.shields.io/github/stars/Amin52J/React-Redux-Enterprise.svg?style=for-the-badge)](https://github.com/Amin52J/React-Redux-Enterprise/stargazers)
[![license](https://img.shields.io/github/license/Amin52J/React-Redux-Enterprise.svg?style=for-the-badge)](https://github.com/Amin52J/React-Redux-Enterprise/blob/master/LICENSE)

A React-Redux boilerplate for enterprise web applications.

Before you start with this boilerplate, please take a few minutes to read [this article](https://medium.com/@a.jafari.90/framework-less-single-page-application-a547325f6e0c) and see if you really need this or you may want to try [another option](https://github.com/Amin52J/frameworkless-spa).

### Materials

This repo is the minimal and extendable setup to start a new enterprise large-scaled project based on React & Redux & RxJS.

* **babel:** to transpile our ES6-7 code ES5
* **enzyme:** as our test util
* **esdoc:** to generate docs
* **eslint:** to have linting utility over our code
* **jest:** as our test framework
* **prettier:** to apply linting to our code before commits
* **react:** as our framework
* **react-redux:** to handle data flow
* **react-router:** to handle routing
* **react-router-redux:** to handle routing
* **redux:** to handle data flow
* **redux-observable:** to handle async actions
* **redux-persist:** to have persistent store
* **rxjs:** to handle observable actions
* **styled-components:** to style our project
* **webpack:** as our module bundler

### How to start?

* Clone the project
* `yarn`
* `yarn start`
* visit [localhost:8080](http://127.0.0.1:8080)

### NOTE:

* To run the server you need to install `http-server-spa` as a global module, or you can implement your own server and point it to the public directory.
* All modules used are the latest versions and are implemented according to their respective latest version docs. (as of Oct 2018)

### Scripts

* `yarn build` to make a single production build
* `yarn dev` to make a single development build
* `yarn docs` to generate the docs
* `yarn lint` to run the lint check
* `yarn start` to start the server
* `yarn test` to run the tests
* `yarn watch` to start watching for file changes

### Read On

To read more about this project and to get familiar with the structure and find out the logic behind it, check out the articles on [Medium](https://medium.com/@a.jafari.90/how-to-start-an-enterprise-project-with-react-and-redux-563d73b61ef4), [Quora](https://amin52j.quora.com/How-to-start-an-enterprise-project-with-React-and-Redux) or [LinkedIn](https://www.linkedin.com/pulse/how-start-enterprise-project-react-andredux-amin-jafari/)

### License

This project is licensed under the [MIT License](https://github.com/Amin52J/React-Redux-Enterprise/blob/master/LICENSE).