An enterprise react template application showcasing - Testing strategies, Global state management, middleware support, a network layer, component library integration, localization, PWA support, route configuration, lazy loading, and Continuous integration & deployment.
Built using react-floki
-
Global state management using Redux Sauce
Take a look at the following files
-
Computing and getting state from the redux store using Reselect
Take a look at the following files
-
Side effects using Redux Saga
Take a look at the following files
-
API calls using Api Sauce
Take a look at the following files
-
Styling components using Styled Components
Take a look at the following files
-
Reusing components from Ant design
Take a look at the following files
-
Translations using React Intl
Take a look at the following files
-
Routing is done using React Router
Take a look at the following files
-
Storybooks allows you to work on one component at a time. You can develop entire UIs without needing to start up a complex dev stack, force certain data into your database, or navigate around your application.
Take a look at the following files
-
We're using and configuring webpack to bundle our React application.
Take a look at the following files
-
The size of the bundle is analyzed using the webpack-bundle-analyzer to make sure that the bundle is lean and optimized.
Take a look at the following files
-
CI/CD using Github Actions. The CI pipeline has the following phases
- Checkout
- Install dependencies
- Lint
- Test
- Build
The CD pipeline has the following phases
- Checkout
- Install dependencies
- Build
- Deploy
Take a look at the following files
-
Testing is done using the @testing-library/react.
Take a look at the following files
- Components, containers, tests and stories can be scaffolded using
For the documentation take a look at: react-floki
yarn generate
- @app -> app/
- @containers -> app/containers/
- @components -> app/components/
- @services -> app/services/
- @utils -> app/utils/
Take a look at the following files
Take a look at the following files
Take a look at the following files
- For github pages to work on an arbitrary route we have used some workarounds.
For production builds deployed directly on
/
you need to make the following changes- publicPath: process.env.NODE_ENV === 'production' ? '/react-template/' : '/'
should be:
publicPath: '/'
- relativePaths: process.env.NODE_ENV === 'production'
should be:
relativePaths: false,
- const history = createBrowserHistory({ basename: baseUrl });
should be:
const history = createBrowserHistory();
- publicPath: process.env.NODE_ENV === 'production' ? '/react-template/' : '/'
should be: