- Login/Signup User Account
- Email verification ( only verified users can login )
- Update Profile/Password User Account
- Reset Password Mail using Nodemailer
- Cart Add/Remove Items | Update Quantities
- Wishlist Add/Remove Items
- Product Search
- Product Filters Based on Category/Ratings | Price Range | Exclude out of stock
- My Orders (With Filters)
- Order Details of All Ordered Item
- Review Products User Account
- Admin: Dashboard with Chart reports
- Admin: Dashboard access to only admin roles
- Admin: Update Order Status | Delete Order
- Admin: Add/Update Products
- Admin: Delete User
- Stock Management: Decrease stock of product when user place orders
- Stock Management: Increese stock of product when user cancelled products
- ReactJs
- Nodejs
- Express Js
- MongoDB Atlas
- Bootstrap
- Razorpay
git clone https://github.com/vishnuprasad404/MERN-Stack-Ecommerce.git
cd MERN-Stack-Ecommerce/
For Backend:
npm install
For Frontend:
cd frontend/
npm install
For Backend ( root folder )
ORIGIN = // origin url (eg:- http://localhost:3000)
BASE_URL = // base url (eg:- http://localhost:3001)
DATABASE_URI = // database url
DATABASE_NAME = // database name
ADMIN_COLLECTION = // collection name for admin login
USERS_COLLECTION = // collection name for user authentication
PRODUCTS_COLLECTION = // collection name for products
CART_COLLECTION = // collection name for cart
ORDERS_COLLECTION = // collection name for orders
FAVORITES_COLLECTION = // collection name for wishlist
ADDRESS_COLLECTION = // collection name for delivery address
VERIFICATION_COLLECTION = // collection name for verification tokens
PASSWORD_RESET_COLLECTION = // collection name for reset password token
RAZORPAY_KEY_ID = // your razorpay key id
RAZORPAY_KEY_SECRET = // your razorpay key secret
AUTH_EMAIL = // mail for email service
AUTH_PASS = // mail appPassword for mail service
For Frontend ( /frontend folder )
REACT_APP_BASE_URL = //Api base url ( eg:- http://localhost:3001 )
REACT_APP_RAZORPAY_KEY_ID = // your razorpay key id