This is a full-stack e-commerce web application built with React, Redux Toolkit, Axios, Node.js, Styled Components, Material-UI Icons, React Router DOM, SweetAlert2, and Redux Persist.
- User authentication (register/login)
- logout and delete account
- Product listing
- Product details
- Add to cart
- View cart
- Update cart items
- Remove cart items
- Checkout process
- Persistent cart state
- Profile page
- Filter products
-
Clone the repository:
git clone https://github.com/hagerElroby/mern-ecommerce.git cd mern-ecommerce
-
Install dependencies for client:
npm install
- Ensure that the client is running.
- Open your browser and navigate to
http://localhost:3000
.
- Browse products on the home page.
- Click on a product to view details.
- Select color and size.
- Adjust the quantity.
- Click the "Add to Cart" button.
- Click on the cart icon in the navigation bar to view the items in your cart.
- Adjust quantities or remove items as needed.
- Frontend: React, Redux Toolkit, Axios, Styled Components, Material-UI Icons, React Router DOM, SweetAlert2, Redux Persist
- Backend: Node.js, Express.js, Mongoose, MongoDB
- Authentication: JWT (JSON Web Tokens)
├── public/
├── src/
│ ├── components/
│ │ ├── Announcement.jsx
│ │ ├── Categories.jsx
│ │ ├── CategoryItem.jsx
│ │ ├── Footer.jsx
│ │ ├── Navbar.jsx
│ │ ├── Newsletter.jsx
│ │ ├── Product.jsx
│ │ ├── Products.jsx
│ │ └── Slider
│ ├── images/
│ ├── pages/
│ │ ├── Cart.jsx
│ │ ├── Home.jsx
│ │ ├── Login.jsx
│ │ ├── Product.jsx
│ │ ├── ProductList.jsx
│ │ ├── Profile.jsx
│ │ ├── Register.jsx
│ │ └── Success.jsx
│ ├── redux/
│ │ ├── apiCalls.js
│ │ ├── cartRedux.js
│ │ ├── store.js
│ │ └── userRedux.js
│ ├── requestMethods.js
│ ├── App.js
│ ├── data.js
│ ├── index.js
│ └── responsive.js
├── .gitignore
├── README.md
├── package-lock.json
└── package.json