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="[email protected]"
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 seed
This populates your database with users, products, reviews, and carts for immediate testing.
Start backend:
cd backend
npm run dev # requires nodemon, or use npm start
Start frontend:
cd frontend
npm start
Access your application at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
After seeding, use these credentials to explore the platform:
Email: [email protected]
Password: [email protected]
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! ⭐