Fake Store is a React-based e-commerce application that fetches and displays products from the Fake Store API.
It allows users to browse items, view detailed information, and manage basic CRUD operations for products.
- 🧠 Dynamic Product Listing – Fetches product data in real-time from Fake Store API using Axios.
- 🔍 Product Details Page – View detailed information about each product.
- 🆕 Create / Edit Products – Add or update products dynamically.
- 💨 Loading State – Smooth loading component for better UX.
- 🧭 Navigation Bar – Provides quick access to different sections.
- 🧱 Component-Based Structure – Clean, modular React architecture for scalability.
| Category | Technologies |
|---|---|
| Frontend Framework | React + Vite |
| Routing | React Router DOM |
| HTTP Client | Axios |
| State Management | React Context API |
| Styling | CSS Modules |
| Linting | ESLint |
Fake Store/
├── public/
│ └── vite.svg
├── src/
│ ├── assets/
│ │ └── react.svg
│ ├── components/
│ │ ├── Create.jsx
│ │ ├── Details.jsx
│ │ ├── Edit.jsx
│ │ ├── Home.jsx
│ │ ├── Loading.jsx
│ │ └── Nav.jsx
│ ├── utils/
│ │ ├── Axios.jsx
│ │ └── Context.jsx
│ ├── App.jsx
│ ├── App.css
│ ├── index.css
│ └── main.jsx
├── package.json
├── vite.config.js
└── README.md
- Clone the repository
git clone https://github.com/Sarg3n7/fake-store.git
- Navigate to the project directory
cd fake-store - Install dependencies
npm install
- Run the development server
npm run dev
- Open your browser and visit:
👉 http://localhost:5173
-
🔍 Improve Search Functionality
- The search bar in the navigation currently doesn’t return results even for exact matches.
- Plan: Implement fuzzy search, debouncing, and partial match detection for smoother search performance.
-
🎨 Enhance UI/UX Design
- Add animations, consistent color themes, and responsive layouts.
- Improve product card aesthetics, spacing, and typography.
-
📈 Make the App Scalable
- Integrate pagination, lazy loading, and caching.
- Adopt Redux or Zustand for better state management.
- Prepare backend integration (Node.js + MongoDB / Firebase) for persistent data handling.
Contributions are welcome!
If you’d like to improve this project:
- Fork the repository.
- Create a new branch (
feature/your-feature). - Commit and push your changes.
- Open a Pull Request.
This project is open-source and available under the MIT License.