ShopEase - Full-Stack E-Commerce Website
ShopEase is a fully functional e-commerce platform built with the MERN stack (MongoDB, Express, React, Node.js). It includes essential e-commerce features like product browsing, filtering, user authentication, order management, and an integrated payment gateway using Stripe. An admin panel is also provided for managing products and orders efficiently.
Features
User Features
- Home Page - Browse featured and new products.
- Product Listing - View all products with filters for category, price, and more.
- Cart Management - Add, remove, and adjust quantities in the cart.
- Secure Checkout - Make payments using Stripe.
- Order History - View past orders and their status.
- User Authentication - Register, login, and manage profile.
Admin Features
- Manage Products - Add, update, and delete products.
- Order Management - View all orders and update their status.
- Category Management - Create and manage product categories and subcategories.
Tech Stack
Frontend:
- React (with Hooks and Context API)
- Redux for state management
- Axios for HTTP requests
Backend:
- Node.js
- Express.js
- MongoDB (Mongoose ORM)
Payment Integration:
- Stripe Payment Gateway
Authentication:
- JWT (JSON Web Tokens)
- bcrypt for password hashing
Installation
1. Clone the Repository
git clone https://github.com/adarshupadhyay21/shopease.git
cd shopease
2. Install Dependencies
Frontend
cd client
npm install
Backend
cd server
npm install
3. Create a .env file in the /server folder
Add the following environment variables:
MONGO_URI=
JWT_SECRET=
STRIPE_SECRET_KEY=
4. Start the Development Server
Backend:
cd server
npm run dev
Frontend:
cd client
npm start
Usage
- Open http://localhost:3000 in your browser.
- Register or log in to explore the platform.
- Add products to the cart and proceed to checkout using Stripe.
- Admins can access the admin panel at
/admin.
Screenshots
| Home Page | Product Page | Admin Panel |
|---|---|---|
Future Improvements
- Add product reviews and ratings
- Implement order tracking and delivery status updates
- Enhance user profile with more customization options
Contributing
Contributions are welcome! Feel free to fork the repo and submit a pull request.
License
This project is licensed under the MIT License.
If you like this project, give it a star!