Ecommerce Platform web application built with MERN stack. This is the codebase for the MongoDB NodeJS and Express RESTful backend API.
This include all common features of a Ecommerce Platform.
-
User can create account with email and password
-
User and Admin can login with email and password
-
User and Admin can login with facebook and google
-
Owner can see own user's information
-
Owner can update own account profile
-
Owner can deactivate own account
-
Admin can see a list of all users
-
Admin can see detail information of all Users
-
Admin can update information of all Users
-
Admin can see a list of all users
-
Admin can deactive any account
- User and Admin can see list of product at home page.
- User can filter product by (search by name, category, keywords).
- User can see detail information of single product.
- Admin can add a product.
- Admin can add discription(HTML/CSS) for product.
- Admin can update information of a product.
- Admin can deactive a product.
- User can see list of review.
- Authenticated user and Admin can add reviews.
- Authenticated user can update own reviews.
- Admin can update any reviews.
- Admin can deactive a review.
- User can see list of category
- User can see a single category
- Admin can add category
- Admin can update a category
- Admin can deactive a category
- Authenticated user when click on category can see a list of products.
- Authenticated user can see list of product in cart
- Authenticated user can see detail info of product when user click on image of product.
- Authenticated user can change quantity of products.
- Admin can change status of order
- Admin can cancel order with many reason.
- Authenticated user can see list of order
- Authenticated user can see detail info of order
- Authenticated user can check status of order
- Authenticated user can deactive of order
- Admin can change status of order
- Admin can cancel order with many reason.
- Admin can add meta tag for product.
- When we access detail product, we can see some of meta data will show at the top of head tag HTML.
-
Generate express boiler plate
npx express-generator --no-view npm install touch .gitignore .env
-
Install project dependencies
npm i nodemon cors bcryptjs dotenv npm i jsonwebtoken mongoose
-
Add dev script
{ "scripts":{ ... "dev":"nodemon ./bin/www" } } -
Environment variable config (JSK, MURI) In
.envIn.gitignorenode_modules .env
@copyright by Quach Trung Tin