This project is a example to show the basic requirement for building large web application. (Note: It's not the Best Practice, we just share our experience. The project structure depends on your scenario)
- follow create-react-app, avoid to use webpack (it's to complicated)
- easy-managed router (react-router)
- code splitting based on different components, only loads necessary js file. (react-loadable)
- easy-managed states, keep all data from the same source. (redux)
- separate UI logic, data select logic (reselect) and data fetching logic.
- handle async actions (redux-observable).
- use third-party design system (material-UI)
- support i18n (react-i18next)
- consistent coding style (eslint, prettier)
For more detail introduce of this project, check here.