A fully functional Ecommerce Web Application built using React (Vite) with backend API integration.
It simulates a real-world shopping experience including product browsing, cart management, checkout flow, and order tracking.
This project focuses on:
- Clean component architecture
- Real backend API communication
- Scalable frontend structure
- Modern React practices
- Dynamic product listing from backend
- Reusable and modular product components
- Responsive UI across devices
- Add / remove products
- Update product quantity
- Real-time cart updates
- Delivery option selection
- Order summary page
- Price calculation
- Delivery selection
- Order placement system
- View previous orders
- Order history tracking
- Backend-synced order data
- Multi-page navigation using React Router
- Persistent layout (Header & navigation)
- Seamless page transitions
- REST API communication
- Axios-based requests
- Product, cart, and order APIs
- Unit testing
- Integration testing
- React Testing Library support
- React
- Vite
- React Router DOM
- Axios
- HTML5
- CSS3
- Node.js
- Express REST APIs
- Jest
- React Testing Library
src/
├── components/ # Reusable UI components
├── pages/ # Application pages
├── services/ # API calls (Axios)
├── hooks/ # Custom hooks
├── App.jsx # Routes setup
└── main.jsx # Entry point
⚙️ Installation & Setup
1️⃣ Clone Repository
git clone https://github.com/rishipandey2/Ecommerce-website.git
2️⃣ Move to Project Directory
cd Ecommerce-website
3️⃣ Install Dependencies
npm install
4️⃣ Start Frontend
npm run dev
🔥 Backend Setup
Start backend server separately:
npm start
⚠️ Make sure backend API URLs are correctly configured in frontend environment variables.
📡 API Endpoints
Method Endpoint Description
GET /products Fetch all products
GET /cart Get cart items
PUT /deliveryOptions Update delivery type
DELETE /cartItem Remove item from cart
POST /orders Create order
Rahul Pandey
GitHub: @rishipandey2
If you like this project:
⭐ Star the repository
🍴 Fork it
📢 Share it with others
📄 License
---
## 📄 License
This project is licensed for **educational and learning purposes only**.
You are free to:
- Use this project for learning and practice
- Modify and experiment with the code
- Share it for educational use
However, you are **not permitted** to use this project for commercial purposes without proper permission from the author.
---