Welcome to the MERN E-Commerce Website! This project is a feature-rich e-commerce application built using the powerful MERN stack, complete with an intuitive user-facing store and an all-encompassing admin dashboard.
- 🔒 Secure Authentication: Register, login, and manage user profiles effortlessly.
- 🛍️ Product Exploration: Browse and search through an extensive product catalog with advanced filtering options.
- 🛒 Shopping Cart: Add products to your cart, modify quantities, and proceed to a hassle-free checkout.
- 💳 Seamless Payments: Make secure payments using Stripe integration.
- 📦 Order Management: View order history, track deliveries, and manage returns with ease.
- 🛠️ Product Management: Add, update, or delete products with a user-friendly interface.
- 📂 Category Management: Organize products into categories for better navigation.
- 📑 Order Management: View, process, and update orders efficiently.
- 👥 User Management: Manage user roles and access levels.
- MongoDB: Robust NoSQL database for storing all application data.
- Express.js: Fast and minimalistic backend framework.
- React.js: Modern frontend library for building dynamic user interfaces.
- Node.js: JavaScript runtime environment for running the backend.
- Stripe: Integrated payment gateway for processing transactions.
- JWT: JSON Web Tokens for secure user sessions.
/
|-- admin/ # React.js admin frontend code
|-- backend/ # Node.js backend code (Express.js)
|-- frontend/ # React.js frontend code
|-- .gitignore # Files and folders to be ignored by Git
|-- README.md # Project documentation
Follow these steps to set up the project locally on your machine.
Prerequisites
Make sure you have the following installed on your machine:
Cloning the Repository
git clone https://github.com/MenathNDGD/MERN-Ecommerce.git
Installation
Install the project dependencies using npm:
npm install
Set Up Environment Variables
/admin/.env
VITE_BACKEND_URL = "http://localhost:4000"
/backend/.env
MONGODB_URI =
CLOUDINARY_API_KEY =
CLOUDINARY_SECRET_KEY =
CLOUDINARY_CLOUD_NAME =
JWT_SECRET =
ADMIN_EMAIL = "admin@trendify.com" #For testing only
ADMIN_PASSWORD = "admin@123" #For testing only
/frontend/.env
VITE_BACKEND_URL = "http://localhost:4000"
Replace the placeholder values with your actual Appwrite credentials.
Running the Project
Admin Dashboard Running On:
cd admin
npm run dev
Backend Running On:
cd backend
npm run server
Frontend Running On:
cd frontend
npm run dev
Open http://localhost:5174 in your browser to view the admin dashboard.
Open http://localhost:400 in your browser to run the backend.
Open http://localhost:5173 in your browser to view the frontend project.