Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Mastering NodeJS - Marathon Interview Questions Series
Introduction
What is Node,js? (2:06)
Installation and Environment Setup (2:01)
Initializing Project using NPM (2:15)
Node Basics
Introduction to Modules (3:09)
First Application (1:19)
Exporting Object Literal - Multiple Exports (3:58)
Basic Debugging (3:57)
Global Objects (2:09)
setTimeout() - Global object Method (2:22)
clearTimeout() - Global object Method (1:53)
setInterval() - Global Object Method (2:33)
clearInterval() - Global Object Method (1:42)
The “process” Global Object (1:52)
Process.argv (2:29)
"process.on()" - Process Event Handling (2:17)
Chalk library (2:24)
OS Module (1:51)
What is REPL? (1:21)
Event Loop (4:19)
Buffers
Numeric systems (4:04)
Introduction to buffers (0:45)
Character sets - Unicode (1:57)
Working with buffers (2:06)
Buffer.from() (1:26)
Changing buffer values (1:14)
File System Object
Does it Exist? - fs.existsSync() (1:41)
What is the File System Object? (2:15)
Reading Files With ‘fs’ Object (1:37)
Writing Files - writeFile() (1:28)
readFile() vs. readFileSync() (4:14)
fs.copyFile() (3:29)
Assignment - Copy Any File to a Given Location (1:10)
fs.appendFile() (3:10)
Reading Directory Using “readdir()” (1:06)
Assignment - Count files and folders of directory (1:36)
Renaming and Moving Files - fs.rename() (1:51)
Deleting a File - fs.unlink() (1:30)
readdir() Vs readdirSync() (2:21)
Creating Folder using fs.mkdir() (1:36)
Delete Folder - fs.rmdir()_recursive (2:10)
HTTP Module
Creating Server with "http" (5:15)
Introduction - What is a server? (3:27)
Decoding "The Request" object (2:23)
Auto Restart Server - "Nodemon" (1:35)
Responding to request - Response object (2:48)
Routes - Request.url (4:48)
Sending JSON Response (2:51)
Assignment - Get server date and time (2:20)
form, Query String - GET method (5:25)
Request with POST method (2:15)
POST-ing Data (2:33)
"querystring" - Parsing (3:47)
Assignment - POST data to a JSON file on server (2:35)
Express.js
Installation and Introduction to Express.js (1:00)
Creating Server with Express.js (2:05)
Understanding the Request (2:29)
Responding to the Request (3:23)
Headers and JSON Response (2:17)
Defining Routes (1:26)
Wildcard Characters in Routing (2:26)
Dealing with URL parameters (3:18)
POST Request With Express.js (4:51)
Accessing POST Data with Middleware (2:44)
express.Router() - Better Approach for Routes (3:38)
POSTMAN - Introduction and Installation (2:00)
Making Request Using POSTMAN (1:37)
PUT, PATCH, DELETE Request (2:26)
res.sendFile() - Serving HTML Files (4:14)
express.static() (3:39)
Middleware
First Custom Middleware (2:46)
Introduction to Middleware (2:12)
Assignment - Create a Middleware to Check Content-Type (4:26)
The bodyParser() Middleware (2:50)
Templating Engine - Working with Pug
Project Scaffolding (1:30)
Introduction to Server Side Rendering (3:27)
Creating Store HTML - Nav & Product Cards (5:24)
Converting HTML to Pug (3:46)
Rendering the Pug File (1:35)
Creating Form Using Templating Engine (3:02)
Fetching the Product Data (2:21)
Rendering Products Using each...in... (2:38)
Conditional Rendering - No Product Section (1:18)
Inherited Reusable Interface - Template Layout (2:54)
Giving Dynamic Classes With Pug (1:50)
Templating Engines - Handlebars & EJS
Configuring Handlebars (3:47)
Adding Dynamism With Handlebars (4:12)
Working with Default Layout in Handlebars (2:50)
Introduction to EJS (4:31)
Component Based EJS? - Partials (2:32)
Node and MySQL Basics
Setting up the Project (1:44)
Connecting to the Database (4:07)
Querying the Database - pool.query() (1:23)
Inserting Data with pool.query() (1:25)
Updating Records with pool.query() (2:25)
Deleting Records with pool.query() (1:24)
Safer Approach for Query Execution - pool.execute() (1:21)
Database Operations with REST APIs
Introduction to APIs (2:43)
API Creation (2:36)
Status Codes (3:17)
Inserting Data with POST Request (2:38)
Deleting Records With API (1:21)
Updating Database with PUT (2:32)
Refactoring the Code Structure (6:18)
Practical Application - MyStore API Creation - Express,js
MyStore Application Flow (1:22)
Introduction to MyStore (1:53)
Creating Home Route (2:48)
Configuring the Template Files (1:51)
Creating Navbar with "includes" (2:35)
Creating Home Interface (6:24)
Conditional Rendering - No Product Found (1:45)
Configuring Add Product Route (2:30)
Creating “Add Product” Interface (5:28)
Configuring Edit Product Route (2:26)
Interface and Functionality - "Edit Product" (3:08)
Attaching MySQL with MyStore
Fetching the Products (1:58)
Setting Up MySQL (1:29)
Adding Product to Database (4:30)
Editing the Product (4:29)
Deleting the Product (2:13)
Cookies
Authentication Workflow (2:08)
Introduction to cookies (1:06)
Understanding Cookies (3:12)
Creating Cookie Using setHeader() (2:32)
res.setHeader() vs. res.cookie() (1:14)
Reading a Cookie (2:30)
Expiring Cookie - expires & maxAge Attributes (5:38)
Optional Security Attributes of Cookie (2:50)
Authentication with Session Cookie
Introduction (2:36)
Setting Up the Route for SignUp (3:38)
Designing the SignUp Form (3:03)
Show/Hide Password Functionality (4:59)
Validating Password (1:46)
Registering User to the Database (3:22)
Configuring Login Page (1:40)
Validating User and Sending Cookie (4:37)
Reading the Cookie - cookie-parser (3:10)
Rendering DOM Based on Login Status (2:59)
Implementing Logout (1:20)
Why Need Session Cookie? (1:53)
Configuring express-session (3:11)
Sending Session Cookie to Client (2:07)
Reading and Configuring Session Cookie (2:10)
Storing Session in MySQL - express-mysql-session (4:57)
Logout - Destroying Session (2:37)
Authentication with JWT
Understanding JWT Practically (2:58)
Introduction to JSON Web Token (2:09)
Verifying a Token with JWT (1:49)
Sending Token on Login (3:37)
Validating Request with Custom Middleware (4:43)
Enabling The Conditional Rendering (6:04)
Bcrypt
Hashing with Bcrypt (2:27)
Introduction & Installing Bcrypt (1:49)
Generating Salt with Bcrypt (3:35)
Validating a Hashed String (1:30)
Hashing the Password on SignUp (2:18)
Validating Login Credentials (1:40)
File Upload/Download with Multer
Introduction (2:22)
Configuring Multer as Middleware (2:54)
Storing Files Using Multer (4:45)
Updating the Database (2:42)
Sequelize
Introduction To Sequelize (3:26)
Creating Model With Sequelize (5:30)
Connecting To MySQL Using Sequelize (5:24)
Entering records in the table (2:09)
Displaying records from table (3:20)
Updating records from table (1:49)
Deleting records from table (2:03)
Validations And Constraints With Sequelize (3:14)
Empty String Validation (2:22)
Setting Unique Constraint (3:54)
Validating Length Of Characters (2:49)
Built-in min and max Validators (2:30)
Applying Custom Validations (2:54)
Getting the field value (2:14)
Assignment - Implementing User Validation (10:21)
MyStore with Sequelize
Introduction (1:20)
Configuring Sequelize with MyStore (4:09)
Updating Products Model (3:27)
Updating Users Model (1:24)
Synchronizing models with the database (1:52)
Updating Product CRUD Operations (8:57)
Updating User Auth (3:49)
Managing Login Session With Sequelize (3:13)
Source code
Node & MongoDB Basics
Introduction To MongoDB (3:28)
Installing MongoDB (5:55)
Creating Database with MongoDB (4:45)
Connecting MongoDB with Node.js (5:51)
Inserting document (5:32)
Finding Data From Collection (7:00)
What is a Cursor? (4:55)
Sorting and Limiting (4:57)
Counting Documents (3:40)
Assignment - Total Employees Earning Above 50K (4:00)
Updating Documents (4:39)
Assignment-Increase and decrease salary by department (2:30)
Deleting Documents (3:36)
Mongoose - The Practical Approach
Introduction To Mongoose (3:46)
Installing Mongoose (3:26)
Creating Collection Using model() (6:26)
Schema - A Better Way (1:55)
Required Constraints In Schema (4:00)
Unique Constraints In Schema (3:46)
Built-in Validators (minLength & maxLength) (2:09)
Built-in Numeric min & max Validators (1:56)
Implementing Custom Validations (4:57)
VALUE - Placeholder (1:43)
Assignment - UserSchema with Password and Email Validation (8:40)
CRUD With Mongoose (CREATE Operation) (2:43)
CRUD With Mongoose (READ Operation) (2:24)
CRUD With Mongoose(UPDATE Operation) (4:19)
CRUD With Mongoose (DELETE Operation) (2:09)
MyStore with MongoDB & Mongoose
Introduction (1:47)
Configuring Mongoose with MyStore (3:23)
Creating Product Schema and Model (1:34)
Creating User Schema and Model (3:43)
Defining Product CRUD Operations (10:19)
Defining User Auth (6:04)
Managing Login Session With MongoDB (4:12)
Source Code
SocketIO
Getting Started With Web Socket (3:22)
Introduction To Web Sockets (5:04)
Configuring Socket.io server (6:15)
Disconnecting Socket.io With Client (1:17)
Socket.IO Events - Part 1 (Transfer messages in real time) (6:01)
Socket.IO Events - Part 2 (Broadcasting message) (3:28)
Assignment - Broadcasting message to connected clients (4:12)
Event Acknowledgements (3:56)
Rendering Messages Inside The Template (5:37)
Creating A Join Page (4:21)
Storing & Displaying Connected Users In Chat Page - Part 1 (8:22)
Storing & Displaying Connected Users In Chat Page - Part 2 (2:38)
Sorting The Displayed Users (5:50)
Updating the UI (4:17)
Sending Private Messages (8:01)
Implementing A Persistent User ID (9:48)
Sending Images In Chat (7:11)
Finalizing The Chat App (2:25)
Introduction to APIs
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock