A fully-featured e-commerce backend API built using Node.js, Express, and MongoDB. This project supports user authentication, product management, shopping cart, order processing, wishlists, reviews, and more β ideal for powering a modern online store.
- User Authentication (Sign up, Sign in, Sign out)
- Role-based Access (Admin & Customer)
- Product Management (CRUD operations, filtering, and search)
- Cart Management (Add, remove, update items)
- Order Processing (Place orders, view history)
- Wishlist functionality
- Product Reviews
- Email Notifications via Nodemailer
- Admin Controls: Manage users, products, and orders
- Secure Routes with JWT authentication
- Mongoose Models for data structure
- RESTful API design
- Node.js
- Express.js
- MongoDB + Mongoose
- JWT for Auth
- Nodemailer (for email notifications)
- Postman (for API testing)
- bcrypt (password hashing)
- dotenv (environment config)
Create a .env
file and add the following:
PORT=3000
MONGODB_URI=your_mongodb_connection
JWT_SECRET=your_jwt_secret
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_app_password
Use Postman to test the API endpoints.
Email notifications are sent upon successful order placement using Nodemailer. .
- Passwords are hashed using bcrypt
- Routes protected with JWT tokens
- Admin-only access via middleware
- WebSocket notifications for real-time updates
- Payment gateway integration
- Product recommendations
Contact: nouranmahmoud252@gmail.com