React + Redux folder structure that is commonly used in real-world production apps.
✅ React + Redux Project Folder Structure
project/
│
├── public/
│ ├── index.html
│ ├── favicon.ico
│ └── manifest.json
│
├── src/
│ ├── api/
│ │ └── axiosInstance.js
│
│ ├── app/ <-- Redux Store Setup
│ │ ├── store.js
│ │ └── rootReducer.js
│
│ ├── components/ <-- Reusable UI Components
│ │ ├── Button/
│ │ │ └── Button.jsx
│ │ ├── Navbar/
│ │ │ └── Navbar.jsx
│ │ └── Loader.jsx
│
│ ├── features/ <-- Redux Slices (Feature-based)
│ │ ├── auth/
│ │ │ ├── authSlice.js
│ │ │ ├── authAPI.js
│ │ │ └── authSelectors.js
│ │ ├── users/
│ │ │ ├── usersSlice.js
│ │ │ ├── usersAPI.js
│ │ │ └── usersSelectors.js
│ │ └── products/
│ │ ├── productsSlice.js
│ │ └── productsAPI.js
│
│ ├── hooks/ <-- Custom Hooks
│ │ ├── useFetch.js
│ │ └── useAuth.js
│
│ ├── layouts/ <-- Page Layout Components
│ │ ├── MainLayout.jsx
│ │ └── AuthLayout.jsx
│
│ ├── pages/ <-- Page Components
│ │ ├── Home/
│ │ │ └── Home.jsx
│ │ ├── Login/
│ │ │ └── Login.jsx
│ │ └── Dashboard/
│ └── Dashboard.jsx
│
│ ├── routes/ <-- All App Routes
│ │ └── AppRoutes.jsx
│
│ ├── styles/ <-- Global Styles
│ │ ├── variables.css
│ │ └── global.css
│
│ ├── utils/ <-- Helper Functions
│ │ ├── formatDate.js
│ │ └── validators.js
│
│ ├── App.jsx
│ ├── index.jsx
│ └── setupTests.js
│
├── .env
├── package.json
├── README.md
└── vite.config.js or webpack.config.js
📌 Explanation of Key Folders
🔹 src/app/
Contains Redux setup.
store.js→ Configures store usingconfigureStorerootReducer.js→ Combines all slices
🔹 src/features/
This is the feature-based organization recommended by Redux Toolkit.
Each feature has:
featureSlice.js- API functions
- Selectors
- Types (optional)
Example:
features/auth/authSlice.js
features/auth/authAPI.js
features/auth/authSelectors.js
🔹 src/components/
Reusable UI components (buttons, modals, cards).
🔹 src/pages/
Route-level pages (Home, Login, Dashboard).
🔹 src/api/
For API base URLs, axios configuration.
🔹 src/utils/
Helpers, formatters, validators.
🔹 src/hooks/
Custom hooks (e.g., useFetch, useAuth).
🔹 src/routes/
All React Router configuration.
✔️ Bonus Folder Structure (More Advanced Option)
For large apps, you can use feature-driven + domain-based architecture:
src/
├── modules/
│ ├── auth/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── hooks/
│ │ ├── api/
│ │ └── redux/
│ └── blog/
│ ├── components/
│ ├── pages/
│ └── redux/
🎯 In Short:
A good React + Redux project should be:
- Modular
- Scalable
- Feature-oriented
- Easy to maintain