βοΈ Live Demo: https://redux-saga-reactjs-app.vercel.app
A React-based product listing and shopping cart application built using Redux and Redux-Saga for state management and asynchronous data handling, along with React Router for navigation. The app features a clean, responsive UI, dynamic product fetching from the Fake Store API, and seamless cart management. The application is deployed on Vercel.
- Fetch products from Fake Store API using Redux-Saga
- Add, remove, or clear products from the cart
- Shows total, discount, and tax dynamically
- Spinner displayed while fetching products
- Responsive product grid with uniform card sizes
- The header displays live cart count
- Simple and clean footer with developer info
- Fully front-end project, deployable as static site
The following technologies are used in this project:
| Layer | Technology / Tools | Description |
|---|---|---|
| Front-end | React, Redux, Redux-Saga, React Router | Used for building the UI, managing state, handling async operations, and navigation between pages. |
| Styling | CSS (Flexbox & Grid) | Provides responsive and clean layout design across all components. |
| API | Fake Store API | Source of product data for fetching and displaying dynamic product listings. |
| Deployment | Vercel (Free) | Used to deploy the application with continuous integration from GitHub. |
The following project structure is used in this project:
redux-saga-reactjs-app/
βββ node_modules/ # Installed dependencies
βββ public/ # Static assets (index.html, images, favicon, etc.)
βββ src/
β βββ components/ # UI components
β β βββ header.js
β β βββ footer.js
β β βββ main.js
β β βββ cart.js
β βββ redux/ # Redux logic (actions, reducers, sagas, store)
β β βββ cart/
β β β βββ cartAction.js
β β β βββ cartReducer.js
β β βββ product/
β β β βββ productAction.js
β β β βββ productReducer.js
β β β βββ productSaga.js
β β βββ constants.js # Shared action types/constants
β β βββ rootReducer.js # Combines all reducers
β β βββ store.js # Creates Redux store & applies saga middleware
β βββ App.css # Global styles
β βββ App.js # Root component
β βββ index.js # Entry point (ReactDOM.render + Provider setup)
βββ .gitignore # Files and folders to ignore in Git
βββ LICENSE # License information (if added)
βββ package.json # Project metadata & dependencies
βββ README.md # Documentation
Follow the steps below to set up and run the project successfully:
git clone https://github.com/PAIshanMadusha/redux-saga-reactjs-app.gitcd redux-saga-reactjs-appnpm installnpm startIf everything is configured properly, your terminal should display something like this:
webpack compiled successfullyThe app runs on: http://localhost:3000
npm run buildThese screenshots illustrate how the system appears on desktop:
Ishan Madhusha
GitHub: PAIshanMadusha
Feel free to explore my work and get in touch if you'd like to collaborate! π
This project is licensed under the MIT License : See the LICENSE file for details.




