Getting Started
Goal of this course and instructions
Tools for backend Developer
MongoDB and mac install
MongoDB win install
MongoDB in Cloud - Atlas
Mongo GUI - Compass
Take it uptpo Heroku - Production
Things You Need To Deploy On Heroku
Plan Your Application
Types of Web Request
Framework - Express, Koa, Hapi
Starting With Package JSON File
Your First Express App
Request Response And Status Code
All Socail Routes
Handles The Date Situation
Parameters And Bugs In Route
Pusing App to Heroku
Debug Social App In Production
Coding files - Github
Swagger Docs
What is swagger and Api Docs
Nodemon Ext and YAML Docs
Authentication Token For Swagger Docs
Docs For HTTP Methods Swagger
A New Documentation Centric Project
Setup Information - Swagger
Authentication And Authorization - Swagger
String Based GET Request - Swagger
Handling Objects - Swagger
Handling Array In Swagger Docs
Sending Data in URL - Swagger
Managing Request Body In Swagger
Handling URL Query in Swagger
Handling Images in Swagger
Handling Header Token In Swagger
Authentication
What we have done till section 3 - Backend
Hiding secrets in backend
Picking up a database for backend
Why we need mongoose - ODM
Pro DB modeling tools
Creating Model for auth system
Creating basis structure for auth system
Creating user schema and dotenv
Registering a user in auth system
Database connection in auth system
What is middleware
Handling password situation
What is JWT and creating token
Register route in auth app
Login flow for auth app
Web vs Mobile
Writing custom middleware
Setting up secure cookies
Files, Images and Form Handling
Why people face issue in image upload
Cloudinary and EJS
How GET works and postman issues
Using template engines
Biggest confusion in front end forms
Handling images in forms
Handling images in forms part 2
Upload image to cloudinary or other providers
Handling multiple files and uploading them
Theory and Razorpay
Files structure for production app
Getting a logger - MORGAN
Error handler and Promises
Sending emails using nodemailer
Why mongoose docs are important
Razorpay project
Razorpay front end integration
Big eCommerce Project Start
Project requirment
User modeling and file structure
Product model discussion
Order Model disscusion
How forgot password feature work
Function in user model and hooks
Basic Config and imports
Getting files and folder ready
Preparing basics express app
Routes and controllers in dummy
Injecting docs and middleware
Custom error handlers
The big Promise
User Model and Signup
Creating a user model and validator
password encryption and mongoose prototypes
Validating the password
Create JWT tokens
Forgot password and crypto hashing
User routes and postman
Signup a user cookies
Database conection
Testing the user signup with postman
Handling image upload
Testing photo upload and user signup
Yes we know about postman files
Users Controller and Routes
Login route and controller
Logout controller and route
Send email from node
Forgot password controller
Reset password controller and routes
Middleware - injecting information
User Dashboard controller and routes
Update the password for a user
Updating the user profile
User, admin, manager and more roles
Manager only routes
Admin get a single user
Admin can update any user
Admin can delete a user now
Working on Product Model
Product middleware setup for routes
Product model and refs
A long talk on URL replace and mongo operators
Creating a product
Where clause in search
Where clause Pager
Aggregation filer in where clause
Get all products with WHERE and pager
Debugging and testing of products add and get
More Routes in Products
Single product route
Update the product with photos
Delete a product and minor bug
Testing and debugging
Add a review
Delete a review and requested routes
Config routes for reviews
Razorpay and Stripe
Stripe Docs
Stripe controllers
Razorpay payments and orders
Setup payment routes
Processing Orders
Order model in action
Creating a order and BSON
Testing create order and routes
Populates fields in order
Order of routes is important
Updating the stock
Delete order and push to git
Pushing code to production server
OAuth and Social Logins
Social Logins foundation and demo app
Consent screen and API keys
Why passport js
Package installation
Home routes and EJS
Preparing routes for login
Showing consent screen of google
Getting information and email from google
Moving google data to databse
Serialize and deserialize user
Protect the Home