MERN STACK NODE API REACT ECommerce with 116 HowTos

Build React E-commerce with NodeJs and MongoDB API with Payment Integration and 116 how-to solutions along the way
MERN STACK NODE API REACT ECommerce with 116 HowTos
File Size :
13.34 GB
Total length :
22h 33m



Ryan Dhungel


Last update




MERN STACK NODE API REACT ECommerce with 116 HowTos

What you’ll learn

React Web App Development
NodeJs API Development
Understand E-commerce Fundamentals
Implement User Cart on Your Own
Write Functional React Components
Payment Integration (Credit Card, PayPal) using Braintree – A PayPal Company
Authentication, Authorization and Protecting Routes (Back to Front)
Dedicated Shop Page for Advance Search based on Category and Price Range
Products and Category CRUD (Create, Read, Update, Delete)
Image Preview and Upload
Products Search Feature in Navigation Menu
Using React Context as Global State
Using Local Storage to Persist Data
Admin and User Dashboard
Load More Pagination Feature
Products Quantity and Sold Quantity Update on Each Sale
Order Management by Admin
Email Notification to Users
Deployment to Heroku Cloud

MERN STACK NODE API REACT ECommerce with 116 HowTos


Basic Understanding of JavaScript
Basic Understanding of React
Basic Understanding of NodeJs


A FullStack E-commerce App is one of the most popular project for most developers. Everything you learn building an E-commerce project will help you build many other full stack projects because they all share the same concept. Plus, you learn to implement Payment System which is vital to E-commerce apps any many other apps that has some type of monetization system in place. This is one of the main reason why E-commerce based courses are some of the most popular courses here on Udemy.Why would you want to enroll into this course?In this course, I have proved that E-commerce apps do not have to be overly complicated. You will be surprised how easy it is to build such rich app. With just the basic knowledge of React and Node, you will be able to build incredible apps of any kind. What you need is an effective way of learning complex topics in easy, practical way which I have provided in this course.Why yet another E-commerce course?I already have two E-commerce courses here on Udemy. So why create another one? First of all those existing E-commerce apps are very different in terms of functionalities and extra features. Another reason is the timing. The technology changes at rapid speed. The packages uses last year to create apps are no longer the same this year. That makes it very hard for new students to follow along. Besides E-commerce is one of the most popular project based course here in Udemy. So I had to make another one to make it easier for new developers. There is a lot of improvements in this course, the steps are much easier and straight forward. The code is cleaner and easier to understand.Is this course suitable for you?Yes, If you already know the basics of JavaScript, React and NodeJs. If not, then do not worry. Checkout the first few videos of this course for detailed instructions on how to make yourself ready to take on this project. Once you know the basics, you need more and more practice and I can not think of any other project than building E-commerce app from absolute scratch. The amount of knowledge you will gain in this course will be amazing. You will be able to start and successfully build any type of full stack app on your own after completing this course.What will you learn in this course?There is so much to learn. In short, you will learn to build React Web App that interacts with NodeJs API. Your app will be fully protected with the Authentication, Authorization and Protected Routes. With hundreds of how-to solutions, you will be amazed at how much you learn in one single course. Each line of code is explained and the clarity of code makes it an absolute joy to build this project.What makes this course special?This is the only course where you will learn well over hundreds of how-to solutions. All that in one single course, in one single project. With the beautiful workflow of building an entire E-commerce app from absolute scratch, adding features one after another, the understanding will flow into your brain in a natural way. With hundreds of how-to concepts covered throughout the building process, you will naturally get better at each exercise and implementation makes a lot of sense without any confusion.What are some of the course highlights?There are so many exciting features covered in this one course, you will be blown away by excitement and joy. Here are some of the exciting features you will learn to add to your web development skill set:Creating, reading, updating and deleting products and categoriesUploading imagesUsing custom product card components to display productsAdvance searching and filtering of productsProducts based on categoriesSorting products by created date and sold quantityProduct in-stock/out-of-stock, sold quantity update etcView product with relative products (suggestive selling)User cart and orders history Admin and user dashboardsOrder management by adminEmail notification to users on order status changeProtected routes for logged-in and admin usersBraintree Payment System (Credit Card and PayPal)Role based accessDeployment to heroku cloud116 How-to’s solutionsand lots more…Join this incredible full stack course that guides you on how to build a real E-commerce app from absolute scratch with each line of code explained for you.Experience the best learning experience with me Ryan while we build this beautiful project from the very beginning to live running live in Heroku cloud servers.


Section 1: Project Overview and prerequisite

Lecture 1 Project overview by user

Lecture 2 Project overview by admin

Lecture 3 Are you ready for this course

Lecture 4 Download Source Code

Section 2: NodeJs – API Setup

Lecture 5 How to initialize your project with NPM

Lecture 6 How to create express server?

Lecture 7 How to continuously run express server using nodemon

Lecture 8 How to use import export in NodeJs

Lecture 9 How to use ENV and gitignore files in NodeJs

Section 3: NodeJs – Connect to MongoDB

Lecture 10 How to connect to MongoDB locally

Lecture 11 How to use mongo atlas as database in the cloud

Section 4: NodeJs – Route, Controller and Modal

Lecture 12 Routes and middlewares concept explained

Lecture 13 How to use controller functions

Lecture 14 How to create mongoose model using schema

Section 5: NodeJs – User Authentication

Lecture 15 How to use bcrypt to hash and compare password

Lecture 16 How to use morgan as a middleware to log request endpoints

Lecture 17 How to use Postman to test NodeJs API

Lecture 18 How to save data in MongoDB

Lecture 19 How to register user with validation and error responses

Lecture 20 How to generate JWT (json web token)

Lecture 21 How to login user using compare password

Section 6: NodeJs – User Authorization and Route Protection

Lecture 22 How to send authorization token in HTTP request headers

Lecture 23 How to protect routes using JWT verify

Lecture 24 How to protect routes for admin users only using isAdmin middleware

Section 7: NodeJS – Category CRUD and Postman

Lecture 25 How to create category model

Lecture 26 How to make a POST request with JWT token in request headers and body

Lecture 27 How to create a category and save in MongoDB

Lecture 28 Creating category CRUD routes

Lecture 29 How to do CRUD with NodeJs and MongoDB

Lecture 30 How to test CRUD API endpoints using Postman

Section 8: NodeJs – Product CRUD and Image Upload with FormData

Lecture 31 How to write product schema to create product model

Lecture 32 Creating product using JSON data vs form data

Lecture 33 How to handle form data with image upload and apply validation

Lecture 34 How to save a product in MongoDB

Lecture 35 How to send a list of products as JSON response

Lecture 36 How to fetch single product from MongoDB

Lecture 37 How to send photo for each product

Lecture 38 How to delete a product from MongoDB

Lecture 39 How to update product in MongoDB

Section 9: React – Project Setup, Pages, Routing and Styling with Bootstrap

Lecture 40 How to create a new React project

Lecture 41 How to create pages in React

Lecture 42 How to add routing system to React app

Lecture 43 How to use Bootstrap CSS in React app

Lecture 44 How to create navigation menu using Bootstrap 5

Lecture 45 How to create a Jumbotron in Bootstrap 5

Section 10: React – React Components, Hooks, Forms, Axios and Toast Notifications

Lecture 46 How to make reusable components in React using props

Lecture 47 How to use useState hook in React to store user input

Lecture 48 How to create a user registration form in React

Lecture 49 Making API request using Axios

Lecture 50 How to inspect API request error messages in React

Lecture 51 How to resolve CORS issue and show error messages using Toast notifications

Lecture 52 How to create a working login page in React

Section 11: React – Context and Local Storage

Lecture 53 How to create context and access it’s value in React

Lecture 54 Saving user login response in context

Lecture 55 Preserve the state on page reload using local storage

Section 12: React – Redirects, Private Route and Protecting Pages

Lecture 56 How to redirect user in React

Lecture 57 How to conditionally show and hide navigation links

Lecture 58 User dashboard page

Lecture 59 How to protect pages using private route in React using react router 6

Lecture 60 How to delay the redirect using setInterval

Lecture 61 How to show loading indicator

Lecture 62 How to protect routes based on server response

Section 13: React – Axios Configuration and Role Based Rediercts

Lecture 63 How to configure Axios with base url and token

Lecture 64 How to create 404 page not found in React

Lecture 65 How to take user to intended page after login

Lecture 66 How to create role based routing with dropdown option

Section 14: React – Admin Dashboard, Sidebar and Access Control

Lecture 67 Create admin dashboard page

Lecture 68 How to restrict access to admin user only

Lecture 69 How to create admin sidebar menu

Lecture 70 Admin pages with shared sidebar menu

Lecture 71 User pages with shared sidebar menu

Section 15: React – Categories CRUD

Lecture 72 How to make Axios POST request to create category from React app

Lecture 73 How to display all categories in React

Lecture 74 How to move code to components for reusability

Lecture 75 How to use Ant design Modal to update category

Lecture 76 How to make Axios PUT request to update category

Lecture 77 How to make Axios DELETE request from React app

Section 16: React – Image Upload and Searchable Dropdown

Lecture 78 How to use searchable Select dropdown to show categories list

Lecture 79 How to select image files to upload in React

Lecture 80 How to show image preview of uploading file in React

Section 17: React – Products CRUD

Lecture 81 How to build a form to create a product

Lecture 82 How to post form data to create product with image

Lecture 83 How to show list of products for admin

Lecture 84 How to render list of products in Bootstrap cards

Lecture 85 How to pre-populate product data in product update form

Lecture 86 How to make Axios PUT request to update product

Lecture 87 Fixing update product issues related to photo and shipping fields

Lecture 88 How to make Axios DELETE request from React

Lecture 89 Error handling: Cannot set headers after they are sent to client

Section 18: React – Sorting Products, Responsive Layout, Product Card and Jumbotron

Lecture 90 How to sort products based on created date and sold

Lecture 91 How to create 2 column responsive layout using Bootstrap

Lecture 92 How to use reusable product card component and display responsive image

Lecture 93 How to add buttons and hover effects to product card

Lecture 94 How to use ribbons to display product info in cards

Lecture 95 How to format product price based on local currency

Lecture 96 Jumbotron color animation CSS

Lecture 97 How to create animated background color for Jumbotron

Section 19: Shop Page based on Categories and Price Range

Lecture 98 Shop page with the list of products

Lecture 99 How to show filter by categories option in checkbox

Lecture 100 How to show filter by price range option as radio buttons

Lecture 101 How to find products based on categories and price range filtering options

Lecture 102 How to render products based on filtering options in react

Lecture 103 How to add reset filtering options in react

Section 20: Load More Pagination

Lecture 104 How to create paginated products endpoint in server

Lecture 105 How to add load more feature in React

Section 21: Search and Display Products

Lecture 106 How to put search form in navigation menu

Lecture 107 How to create search component with state to make API request

Lecture 108 How to create MongoDB to get search results based on multiple properties

Lecture 109 How to replace local state with context in React

Lecture 110 How to display search results with search input in navigation menu

Section 22: Single Product View

Lecture 111 How to create single product view page

Lecture 112 Display product in a single product view page

Lecture 113 How to use React icons

Lecture 114 Showing additional product information

Lecture 115 How to display related products in React E-commerce

Lecture 116 Display related products in product card

Section 23: Categories View, Custom Hook and Products Based on Category

Lecture 117 How to create your own custom hook to fetch data

Lecture 118 How to show categories list in dropdown menu

Lecture 119 How to show list of categories on a page

Lecture 120 Create single category view page

Lecture 121 How to display products by category

Section 24: Cart Context, Add to Cart and Manage Cart Items

Lecture 122 How to create cart context

Lecture 123 How to implement add to cart feature

Lecture 124 How to make sticky top menu

Lecture 125 Create cart page

Lecture 126 How to display products in the cart page

Lecture 127 How to remove items from the cart

Lecture 128 Persist cart on page reload

Lecture 129 How to show cart total

Section 25: User Profile Update, Delivery Address and Intended Page Redirect

Lecture 130 How to create a user profile update page in React

Lecture 131 How to implement user profile update including address

Lecture 132 Conditional rendering for delivery address

Lecture 133 Redirect user to cart page after login

Section 26: Payment Integration (Credit Cart, PayPal) Back to Front

Lecture 134 Signup to Braintree payment

Lecture 135 Braintree functions to generate token and process payment

Lecture 136 Move code from cart page to components

Lecture 137 Show Braintree Web Drop In UI in React

Lecture 138 Creating PayPal sandbox account

Lecture 139 Get payment method nonce on buy button click

Lecture 140 How to process payment with Braintree

Lecture 141 How to charge exact amount based on cart total

Lecture 142 Create a new order on successful payment

Lecture 143 How to add loading state to disable buy button

Section 27: User Orders

Lecture 144 How to get logged-in user’s all orders

Lecture 145 Display order status in a table

Lecture 146 How to display user order’s each product

Lecture 147 How to decrement stock each time a product is sold

Section 28: Order Management by Admin

Lecture 148 Display list of orders for admin

Lecture 149 How to use Ant design’s Select component

Lecture 150 How to update order status by admin

Section 29: Email Notifications

Lecture 151 Sign in to Sendgrid to get API keys for sending emails

Lecture 152 How to send email on order status change

Lecture 153 Receive order status update email

Section 30: Deployment

Lecture 154 Deploy NodeJs API to Heroku Part 1

Lecture 155 Deploy NodeJs API to Heroku Part 2

Lecture 156 Deploy React Web App to Heroku

Lecture 157 Deploy to Digital Ocean Cloud Servers

Section 31: Bonus

Lecture 158 Other courses you may like

Lecture 159 Join my Discord server

JavaScript Developers learning to Build Real Apps with React,JavaScript Developers learning to Build NodeJs API,JavaScript Developers learning to Build E-commerce App with Advance CRUD, Authentication, Authorization, Searching and Filtering

Course Information:

Udemy | English | 22h 33m | 13.34 GB
Created by: Ryan Dhungel

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top