Skip to content

MERN Ecommerce delivers a seamless shopping experience with robust features for both customers and administrators. The platform includes product management, user authentication, shopping cart functionality, wishlists, and order management—all wrapped in a responsive Material UI interface.

License

Notifications You must be signed in to change notification settings

abhishekboadgurjar/Ecommerce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛍️ MERN Ecommerce

A premium shopping experience powered by the MERN stack, Redux Toolkit, and Material UI

MongoDB Express React Node.js Redux Material UI

🚀 Features

👤 For Users

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

👑 For Admins

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

🛡️ Security & Experience

  • 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

🛠️ Project Setup

Prerequisites

  • Node.js (v21.1.0+)
  • MongoDB (installed and running)

Installation

  1. Clone the repository

    git clone https://github.com/abhishekboadgurjar/ecommerce.git
    cd mern-ecommerce
  2. Install dependencies (Pro tip: Use split terminals for efficiency)

    # For frontend
    cd frontend
    npm install
    
    # For backend
    cd backend
    npm install

⚙️ Environment Configuration

Backend (.env file in backend directory)

# 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"

Frontend (.env file in frontend directory)

REACT_APP_BASE_URL="http://localhost:8000"

⚠️ Important: Replace placeholders with actual values and never commit .env files to version control

🌱 Data Seeding

Jumpstart your development with sample data:

cd backend
npm run seed

This populates your database with users, products, reviews, and carts for immediate testing.

🏃‍♂️ Development Servers

Start backend:

cd backend
npm run dev  # requires nodemon, or use npm start

Start frontend:

cd frontend
npm start

Access your application at:

📷 Project Showcase

Ecommerce Homepage Ecommerce Banner

🔑 Demo Account

After seeding, use these credentials to explore the platform:

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.

🧪 Testing

# Run backend tests
cd backend
npm test

# Run frontend tests
cd frontend
npm test

📋 Future Roadmap

  • Payment gateway integration
  • Advanced search and filtering
  • Admin analytics dashboard
  • Mobile app development

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add some amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a pull request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

📬 Contact


Don't forget to star this repository if you found it useful!

About

MERN Ecommerce delivers a seamless shopping experience with robust features for both customers and administrators. The platform includes product management, user authentication, shopping cart functionality, wishlists, and order management—all wrapped in a responsive Material UI interface.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published