RMW is a set of features and best practices that you can choose from and use around your React projects, built on Create React App. You can check out the demo at react-most-wanted.com.
The features include:
- Material UI: Material Design ready-to-use React Components
- Code splitting: MPA (Multiple Page Application) ready. A Large codebase can be split into separate bundles that load different parts of the application, lazy-loading the different bundles on demand.
- Redux: predictable state management, by enforcing a strict unidirectional data flow and state immutability.
- Firebase: use Firebase's platform as backend and database
- And many more: Firebase and Redux sync, authentication, authorization (roles and permissions), push notifications UI integration, theming, internationalization, built-in CI/CD, real-time forms...
To find out more about the features it includes, visit the documentation page.
To accommodate major use-cases, we have created three different shells that you can choose depending on your needs:
Base shell: the basic react setup: routing, internationalization and async load.
npx create-react-app my-app --template base
Material UI shell: includes all features from the base shell expanded with Material-UI.
npx create-react-app my-app --template material-ui
React Most Wanted shell: Base shell + Material UI shell + Firebase
npx create-react-app my-app --template rmw
We appreciate any contribution!
See Contributing for details.
If you want to contribute and don't know where to start. Here are some places you can start:
- Cool Landing Page for new
rmw-shellpackage. It is completely separated from the rest of the Application so you can make it as you want. Just make sure to have at least 95 speed points with Lighthouse - Unit tests. Do I need to say anything about this?
Thank you to BrowserStack for providing the infrastructure that allows us to test in real browsers.
This project uses MIT license.
