11# react-redux-rtk-saga-materialui-typescript-starter
22
3- This project was bootstrapped with [ Create React App] ( https://github.com/facebook/create-react-app ) .
3+ A boilerplate [ Create React App] ( https://github.com/facebook/create-react-app )
4+ with [ Typescript] ( https://www.typescriptlang.org/ ) , [ Redux Toolkit] ( https://redux-toolkit.js.org/ ) ,
5+ [ Redux Saga] ( https://redux-saga.js.org/ ) , [ React Hook Form] ( https://react-hook-form.com/ )
6+ , [ React-i18next] ( https://react.i18next.com/ ) and [ Material UI] ( https://mui.com/ ) .
47
58## About
69
7- ### Built With
8-
9- * [ Typescript] ( https://www.typescriptlang.org/ )
10- * [ React.js] ( https://reactjs.org/ ) , [ Create React App] ( https://create-react-app.dev/ )
11- * [ React Router] ( https://reactrouter.com/ ) , [ React Hook Form] ( https://react-hook-form.com/ ) , [ Yup] ( https://github.com/jquense/yup ) , [ React-i18next] ( https://react.i18next.com/ )
12- * [ MUI - Material UI] ( https://mui.com/ ) , [ Styled Components] ( https://styled-components.com/ )
13- * [ Redux] ( https://redux.js.org/ ) , [ Redux Toolkit] ( https://redux-toolkit.js.org/ )
14- , [ Redux Saga] ( https://redux-saga.js.org/ ) , [ Redux First History] ( https://github.com/salvoravida/redux-first-history )
15- , [ Redux Logger] ( https://github.com/LogRocket/redux-logger )
16- , [ Redux Saga Test Plan] ( https://github.com/jfairbank/redux-saga-test-plan )
17- * [ Mock Service Worker] ( https://mswjs.io/ ) , [ Jest] ( https://jestjs.io/ ) , [ React Testing Library] ( https://testing-library.com/docs/react-testing-library/intro/ )
18- , [ Cypress] ( https://www.cypress.io/ )
19- * [ StoryBook] ( https://storybook.js.org/ )
20- * [ ESLint] ( https://eslint.org/ ) , [ Prettier] ( https://eslint.org/ ) , [ Husky] ( https://typicode.github.io/husky/#/ )
21- , [ Commitlint] ( https://commitlint.js.org/#/ )
22- , [ Standard Version] ( https://github.com/conventional-changelog/standard-version )
23- , [ Lint-staged] ( https://github.com/okonet/lint-staged ) , [ Pretty Quick] ( https://github.com/azz/pretty-quick )
10+ ![ about.gif] ( ./_docs/img/about.gif )
11+
12+ ### Features
13+
14+ 1 . [ React.js] ( https://reactjs.org/ ) CRUD example with Redux Saga.
15+ 2 . [ Typescript] ( https://www.typescriptlang.org/ ) for type safety
16+ 3 . Core libraries
17+ * [ Redux] ( https://redux.js.org/ )
18+ * [ Redux Toolkit] ( https://redux-toolkit.js.org/ )
19+ * [ Redux Saga] ( https://redux-saga.js.org/ )
20+ * [ Redux First History] ( https://github.com/salvoravida/redux-first-history )
21+ * [ Redux Logger] ( https://github.com/LogRocket/redux-logger )
22+ * [ React Router] ( https://reactrouter.com/ )
23+ * [ React Hook Form] ( https://react-hook-form.com/ )
24+ * [ Yup] ( https://github.com/jquense/yup )
25+ * [ Axios] ( https://github.com/axios/axios )
26+ * [ React-i18next] ( https://react.i18next.com/ )
27+ * [ MUI - Material UI] ( https://mui.com/ )
28+ * [ Styled Components] ( https://styled-components.com/ )
29+ 4 . Test libraries
30+ * [ Jest] ( https://jestjs.io/ )
31+ * [ React Testing Library] ( https://testing-library.com/docs/react-testing-library/intro/ )
32+ * [ Redux Saga Test Plan] ( https://github.com/jfairbank/redux-saga-test-plan )
33+ * [ Cypress] ( https://www.cypress.io/ )
34+ 5 . Other tools/libraries
35+ * [ StoryBook] ( https://storybook.js.org/ )
36+ * [ Mock Service Worker] ( https://mswjs.io/ )
37+ * [ ESLint] ( https://eslint.org/ ) , [ Prettier] ( https://eslint.org/ ) , [ Lint-staged] ( https://github.com/okonet/lint-staged ) , [ Pretty Quick] ( https://github.com/azz/pretty-quick )
38+ * [ Husky] ( https://typicode.github.io/husky/#/ )
39+ * [ Commitlint] ( https://commitlint.js.org/#/ )
40+ * [ Standard Version] ( https://github.com/conventional-changelog/standard-version )
41+ 6 . Opinionated folder structure
42+ 7 . Internationalization for react app using [ React-i18next] ( https://react.i18next.com/ )
43+ 8 . Material UI Dark Mode support
2444
2545### Project Structure
2646
2747``` shell
2848./src
49+ βββ App.tsx # Application entrypoint
2950βββ assets # assets folder contains all the static files (images, fonts, etc).
3051βββ components # shared components
3152βββ config # global configuration, env variables etc.
@@ -42,12 +63,14 @@ This project was bootstrapped with [Create React App](https://github.com/faceboo
4263βΒ Β βΒ Β βββ types # 'feature' typescript types
4364βΒ Β βββ another_feature # 'another_feature'
4465βββ hooks # shared hooks
45- βββ libs # libraries imported or exported that can be used in different projects
66+ βββ libs # libraries imported or exported that can be used in different projects
67+ βΒ Β βββ core
4668βΒ Β βββ ui
4769βββ pages # contains all application pages
4870βββ routes # routes configuration
4971βββ store # root store and store settings
50- βββ App.tsx # Application entrypoint
72+ βββ test/ # contains test utilities and Mock Service Worker setup
73+ βββ msw
5174```
5275
5376## Getting Started
@@ -104,11 +127,12 @@ Run `yarn coverage` to generate code coverage.
104127
105128#### E2E tests
106129
130+ ![ posts.spec.ts] ( ./_docs/img/cypress.gif )
131+
107132To run e2e use below command:
108133
109134``` shell
110- yarn build
111- yarn test:e2e
135+ yarn build && yarn test:e2e
112136```
113137
114138> :memo : ** Note:** This script will start the server, wait until application is running, execute e2e tests and after that it will shut down the server.
0 commit comments