Welcome to Shoekart – where style meets comfort! Shoekart is an e-commerce platform dedicated to buying shoes, built on the MERN (MongoDB, Express.js, React.js, Node.js) stack. Shoekart not only provides a user-friendly interface for customers to browse and purchase shoes but also includes an admin section for managing products, orders, and users. Additionally, it features a secure payment section powered by Stripe.
-
Admin Dashboard: Access a powerful admin dashboard to effortlessly manage products, orders, users, and view insightful statistics.
-
User Authentication and Authorization (JWT): Securely authenticate users and manage access to resources with JSON Web Tokens (JWT).
-
Responsive Design: Enjoy a seamless shopping experience across devices with Shoekart's responsive design, ensuring optimal performance on desktops, tablets, and smartphones.
-
Product Listing and Search: Browse through an extensive catalog of shoe products with the ability to filter by categories, sizes, brands, and more.
-
Cart Management: Add desired products to your cart, update quantities, and remove items as needed for a seamless shopping experience and apply coupon codes for discounts to enhance your shopping experience.
-
Payment Gateway with Stripe: Enjoy seamless and secure payment processing through Stripe integration.
-
Order History: Keep track of your past orders and review order history for easy reference and reordering.
-
Product Details and Reviews: Access detailed product information and customer reviews to make informed purchasing decisions.
-
Mail Service: Stay connected with users through email notifications, including order confirmations, shipping updates, and promotional offers.
-
Forgot Password & Reset Password: Enable users to reset their passwords easily in case they forget, ensuring a smooth user experience.
- React.js: Frontend library for building the user interface.
- Node.js: JavaScript runtime environment for running server-side code.
- Express.js: Backend framework for handling HTTP requests and routing.
- MongoDB: Database for storing products, user information, and orders.
- JWT (JSON Web Tokens): Used for user authentication and authorization.
- Axios: Promise-based HTTP client for making AJAX requests from the frontend to the backend.
- Stripe: Payment processing platform for securely accepting payments online.
Explore the project: Shoekart
To experience Shoekart as a demo user, navigate to User Login and use the following credentials:
Username: user@gmail.com
Password: password
You can access the admin section by navigating to Admin Login and using the following credentials:
Username: admin@gmail.com
Password: password
Follow these steps to set up Shoekart on your local machine:
-
Clone the Repository:
git clone https://github.com/SumilSuthar197/Shoekart.git
-
Install Dependencies:
Navigate to the client directory and install frontend dependencies:
cd client npm install
Next, open a new terminal tab, navigate to the server directory and install backend dependencies:
cd server npm install
-
Set up Environment Variables:
Create a
.env
file in both the client and server directories and define the following variables in the.env
file:For Client:
VITE_REACT_APP_REMOVEBG_KEY=your_removebg_key VITE_BACKEND_URL=http://localhost:5000
For Server:
MONGO_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret STRIPE_SECRET_KEY=your_stripe_secret_key STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret CLIENT_URL=http://localhost:5173
-
Run the Backend Server:
Navigate to the server directory and run:
nodemon app.js
-
Run the Frontend Server:
Navigate to the client directory and run:
npm run dev
After running this command, the project will start running locally at http://localhost:5173
Made with ❤️ by Sumil Suthar