Shopliy is an electronic e-commerce website built with the MERN (MongoDB, Express.js, React.js, Node.js) stack. It provides users with the ability to browse products, add them to the cart or wish list, and proceed to checkout. Users can also update their personal information, view their orders, and manage their account. The website includes an admin dashboard with statistics about users, orders, and revenue. The admin can manage products, categories, orders, and customers.
Shopliy.mp4
- User Authentication: Users can sign up, log in, and log out.
- Product Listing: Users can view a list of available products.
- Product Details: Users can view detailed information about each product.
- Cart Functionality: Users can add products to the cart, update quantities, and remove items.
- Wish List: Users can add products to their wish list for future reference.
- Checkout: Users can proceed to checkout and place orders.
- User Account Management: Users can update their personal information, including name, email, image, and address.
- Order History: Users can view their previous orders.
- Admin Dashboard: Admins have access to an admin dashboard with statistics about users, orders, and revenue.
- Product Management: Admins can add, delete, and update products.
- Category Management: Admins can manage product categories, including adding, deleting, and updating categories.
- Order Management: Admins can view and manage orders.
- Customer Management: Admins can manage customer accounts.
- React
- Vite
- Tailwind CSS
- mantine UI
- axios
- Cloudinary
- Node.js and Express.js
- JWT
- bcrypt
- Cors
- MongoDB
- Mongoose
To get started with Shopliy, follow these steps:
-
Clone the repository:
git clone https://github.com/Hazemmahdyx/Shopliy.git -
Install dependencies:
- For the frontend, navigate to the
clientfolder and runnpm install - For the backend, navigate to the
serverfolder and runnpm install
- For the frontend, navigate to the
-
Install dependencies:
- For the frontend, navigate to the
clientfolder and runnpm run dev - For the backend, navigate to the
serverfolder and runnpm run start:dev
- For the frontend, navigate to the
-
Create a
.envfile in the root directory and add the following variables:- JWT_SECRET : Secret key for JWT authentication