A premium shopping experience powered by the MERN stack, Redux Toolkit, and Material UI
| Feature | Description |
|---|---|
| 💬 Product Reviews | Write, edit, and delete reviews with real-time rating updates |
| ❤️ Wishlist | Add products with personalized notes for future purchase |
| 📦 Order Management | Create orders and access comprehensive order history |
| 👤 Profile Dashboard | Manage personal details including multiple delivery addresses |
| 🛒 Shopping Cart | Add products, modify quantities, view itemized subtotals |
| Feature | Description |
|---|---|
| 📝 Product Management | Full CRUD operations with soft-delete functionality |
| 📊 Inventory Control | Manage stock levels and product attributes |
| 📋 Order Processing | View and update order status through an intuitive dashboard |
- Authentication Suite: Login, signup, OTP verification, password reset
- Material UI: Sleek, responsive interface with intuitive user flows
- Scalable Architecture: Built for growth and increasing user demand
- Node.js (v21.1.0+)
- MongoDB (installed and running)
-
Clone the repository
git clone https://github.com/abhishekboadgurjar/ecommerce.git cd mern-ecommerce -
Install dependencies (Pro tip: Use split terminals for efficiency)
# For frontend cd frontend npm install # For backend cd backend npm install
# Database connection
MONGO_URI="mongodb://localhost:27017/ecommerce"
# Frontend URL
ORIGIN="http://localhost:3000"
# Email configuration for notifications
EMAIL="your-email@example.com"
PASSWORD="your-email-password"
# Security settings
LOGIN_TOKEN_EXPIRATION="30d"
OTP_EXPIRATION_TIME="120000"
PASSWORD_RESET_TOKEN_EXPIRATION="2m"
COOKIE_EXPIRATION_DAYS="30"
SECRET_KEY="your-strong-secret-key"
# Environment
PRODUCTION="false"
REACT_APP_BASE_URL="http://localhost:8000"
⚠️ Important: Replace placeholders with actual values and never commit .env files to version control
Jumpstart your development with sample data:
cd backend
npm run seedThis populates your database with users, products, reviews, and carts for immediate testing.
Start backend:
cd backend
npm run dev # requires nodemon, or use npm startStart frontend:
cd frontend
npm startAccess your application at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
After seeding, use these credentials to explore the platform:
Email: abhishekboadgurjar@gmail.com
Password: abhishekboadgurjar@gmail.comA1
Note: The demo account uses a non-functional email address. For testing password reset and OTP verification features, create an account with a valid email.
# Run backend tests
cd backend
npm test
# Run frontend tests
cd frontend
npm test- Payment gateway integration
- Advanced search and filtering
- Admin analytics dashboard
- Mobile app development
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add some amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub: @abhishekboadgurjar
- Twitter: @abhishekjs
- Email: abhishekgurjarofcl.com
- Project Link: https://github.com/abhishekboadgurjar/Ecommerce
⭐ Don't forget to star this repository if you found it useful! ⭐

