Awesome
Creat React App Redux Auth Starter Template
Redux auth starter is a preconfigured Create React App (CRA) template. You can start building your app with Zero configuration.
Usage
yarn create react-app your-project-name --template redux-auth-starter
Or
npx create-react-app your-project-name --template redux-auth-starter
npx command installs most recent stable version of CRA from npm. --template parameter points to this template, note that cra-template- prefix is omitted.
Next
cd your_project_name
yarn start
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
yarn build
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
This CRA template includes
- React
- Redux Toolkit
- React Router
- Axios
- Redux Saga
- Ant Design
- SASS
- Auth Routes
- Preconfigured store, actions, sagas
- Code Splitting
Advantages
- Mock authentication is configured with reqres API.
- Public and Private routes are configured
- Redirect to the private route after successful login, Prevent access to public pages after login and Prevent access to the private pages before login.
- UI components are styled with Ant Design.
- To access different API verbs, axiosClient helper is included.
- Basic Folder structure.
- Absolute Imports
- .env file included.
- ESLint
More feature coming on the way...
Folder Structure
.
├── README.md
├── jsconfig.json
├── package.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ ├── logo192.png
│ ├── logo512.png
│ ├── manifest.json
│ └── robots.txt
├── src
│ ├── App.js
│ ├── App.scss
│ ├── App.test.js
│ ├── app
│ │ ├── axiosClient.js
│ │ ├── rootReducers.js
│ │ ├── rootSaga.js
│ │ └── store.js
│ ├── common
│ │ └── utils
│ │ └── constants.js
│ ├── features
│ │ ├── Dashboard.js
│ │ ├── OnBoarding
│ │ │ ├── LoginPage.js
│ │ │ ├── authenticateAPI.js
│ │ │ └── authenticationSlice.js
│ │ └── Users.js
│ ├── index.css
│ ├── index.js
│ ├── logo.svg
│ ├── reportWebVitals.js
│ ├── routes
│ │ ├── ProtectedRoutes.js
│ │ └── routes.js
│ └── setupTests.js
└── yarn.lock
Quick Start
After installing the template
- Update the API Host url in .env file and restart the app
REACT_APP_HOST_URL = https://reqres.in/api/
-
Write your app features in features directory.
-
Write your global scss in App.scss file.
-
Write your authentication API's in features/OnBoarding/authenticateAPI.js file.
-
Include your component reducer, saga in rootSaga.js and rootReducers.js to add them to redux middleware.
-
Edit the Lint rules in .eslintrc.json file.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
Support
This project needs a ⭐️ from you. Don't forget to leave a star ⭐️
If you found this template helpful, consider supporting me with a coffee.
<a href="https://www.buymeacoffee.com/nilanth" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-red.png" alt="Buy Me A Coffee" height=40 ></a>