Mastering NodeJS with Interview Questions 2024

Learn Express.js, REST API, MySQL, Sequelize, MongoDB, Mongoose, Handlebars, EJS, SocketIO, JWT, BcryptJS and more.

672 Learners

(443 ratings)

Created by

Init Tech Labs

This course includes:

on-demand video
Access on mobile and TV
Full lifetime access
Certificate of completion

0

0.00

What you'll learn

Explore database integration, mastering CRUD operations for effective data handling.

Apply knowledge through practical projects, reinforcing skills and ensuring a real-world understanding.

Build a strong foundation for a server-side developer role.

Build robust web applications and REST APIs using ExpressJS.

Front-end designing using Templating engine (Handlebars and EJS).

Enhance your debugging skills with advanced techniques.

Ace NodeJS interviews with hands-on practice.

Course Content

24 sections

236 lectures

12 hr 31 min

What is Node.js?

02:06

Preview

Installation and Environment Setup

02:01

Preview

Initializing Project using NPM

02:15

Preview

First Application

01:19

Introduction to Modules

03:09

Exporting Object Literal - Multiple Exports

03:58

Basic Debugging

03:57

Global Objects

02:09

setTimeout() - Global object Method

02:22

clearTimeout() - Global object Method

01:53

setInterval() - Global Object Method

02:33

clearInterval() - Global Object Method

01:42

The “process” Global Object

01:52

Process.argv

02:29

“process.on()” - Process Event Handling

02:17

Chalk library

02:24

OS Module

01:51

What is REPL?

01:21

Event Loop

04:19

Introduction to Buffers

00:45

Numeric Systems

04:04

Character sets - Unicode

01:57

Working with Buffers

02:06

Buffer.from()

01:26

Changing Buffer Values

01:14

What is File System Object?

02:15

Does it Exist? - fs.existsSync()

01:41

Reading Files With ‘fs’ Object

01:37

Writing Files - writeFile()

01:28

readFile() vs readFileSync()

04:14

fs.copyFile()

03:29

Assignment - Copy Any File to a Given Location

01:10

fs.appendFile()

03:10

Reading Directory Using “readdir()”

01:06

Assignment - Count files & folders of directory

01:36

Renaming and moving Files - fs.rename()

01:51

Deleting a File - fs.unlink()

01:30

readdir() Vs readdirSync()

02:21

Creating Folder using fs.mkdir()

01:36

Delete Folder - fs.rmdir() & recursive

02:10

Introduction - What is a server?

03:27

Creating Server with "http"

05:15

Decoding "The Request" object

02:23

Auto Restart Server - "Nodemon"

01:35

Responding to request - Response object

02:48

Routes - Request.url

04:48

Sending JSON Response

02:51

Assignment - Get Server Date & Time

02:20

<form>, Query String - GET method

05:25

Request with POST method

02:15

POST-ing Data

02:33

“querystring” - Parsing

03:47

Assignment - POST data to a JSON file on server

02:35

Introduction

01:00

Creating Server with Express.js

02:05

Understanding the Request

02:29

Responding to the Request

03:23

Headers & JSON Response

02:17

Defining Routes

01:26

Wildcard Characters in Routing

02:26

Dealing with URL parameters

03:18

POST Request With Express.js

04:51

Accessing POST Data with Middleware

02:44

express.Router() - Better Approach for Routes

03:38

POSTMAN - Introduction & Installation

02:00

Making Request Using POSTMAN

01:37

PUT, PATCH, DELETE Request

02:26

res.sendFile() - Serving HTML Files

04:14

express.static()

03:39

Introduction to Middleware

02:12

First Custom Middleware

02:46

Assignment - Create a Middleware to Check Content-Type

04:26

The bodyParser() Middleware

02:50

Introduction to Server Side Rendering

03:27

Project Scaffolding

01:30

Creating Store HTML - Nav & Product Cards

05:24

Converting HTML to Pug

03:46

Rendering the Pug File

01:35

Creating Form Using Templating Engine

03:02

Fetching the Product Data

02:21

Rendering Products Using each...in...

02:38

Conditional Rendering - No Product Section

01:18

Inherited Reusable Interface - Template Layout

02:54

Giving Dynamic Classes With Pug

01:50

Configuring Handlebars

03:47

Adding Dynamism With Handlebars

04:12

Working with Default Layout in Handlebars

02:57

Introduction to EJS

04:31

Component Based EJS? - Partials

02:32

Setting up the Project

01:44

Connecting to the Database

04:07

Querying the Database - pool.query()

01:23

Inserting Data with pool.query()

01:25

Updating Records with pool.query()

02:25

Deleting Records with pool.query()

01:24

Safer Approach for Query Execution - pool.execute()

01:21

Introduction to APIs

02:43

API Creation

02:36

Status Codes

03:17

Inserting Data with POST Request

02:38

Deleting Records With API

01:21

Updating Database with PUT

02:32

Refactoring the Code Structure

06:18

Introduction to Mystore

01:53

MyStore Application Flow

01:22

Creating Home Route

02:48

Configuring the Template Files

01:51

Creating Navbar with "includes"

02:35

Creating Home Interface

06:24

Conditional Rendering - No Product Found

01:45

Configuring Add Product Route

02:30

Creating “Add Product” Interface

05:28

Configuring Edit Product Route

02:26

Interface and Functionality - “Edit Product”

03:08

Setting Up MySQL

01:29

Fetching the Products

01:58

Adding Product to Database

04:30

Editing the Product

04:29

Deleting the Product

02:13

Introduction

01:06

Authentication Workflow

02:08

Understanding Cookies

03:12

Creating Cookie Using setHeader()

02:32

res.setHeader() vs. res.cookie()

01:14

Reading a Cookie

02:30

Expiring Cookie - expires & maxAge Attributes

05:38

Optional Security Attributes of Cookie

02:50

Introduction

02:36

Setting Up the Route for SignUp

03:38

Designing the SignUp Form

03:03

Show/Hide Password Functionality

04:59

Validating Password

01:46

Registering User to the Database

03:22

Configuring Login Page

01:40

Validating User and Sending Cookie

04:37

Reading the Cookie - cookie-parser

03:10

Rendering DOM Based on Login Status

02:59

Implementing Logout

01:20

Why Need Session Cookie?

01:53

Configuring express-session

03:11

Sending Session Cookie to Client

02:07

Reading and Configuring Session Cookie

02:10

Storing Session in MySQL - express-mysql-session

04:57

Logout - Destroying Session

02:37

Introduction to JSON Web Token

02:09

Understanding JWT Practically

02:58

Verifying a Token with JWT

01:49

Sending Token on Login

03:37

Validating Request with Custom Middleware

04:43

Enabling The Conditional Rendering

06:04

Introduction & Installating Bcrypt

01:49

Generating Salt with Bcrypt

03:35

Hashing with Bcrypt

02:27

Validating a Hashed String

01:30

Hashing the Password on SignUp

02:18

Validating Login Credentials

01:40

Introduction

02:22

Configuring Multer as Middleware

02:54

Storing Files Using Multer

04:45

Updating the Database

02:42

Introduction

03:26

Connecting to MySQL using Sequelize

05:24

Creating Model With Sequelize

05:30

Entering records in the table

02:09

Displaying records from table

03:20

Updating records from table

01:49

Deleting records from table

02:03

Validations And Constraints With Sequelize

03:14

Empty String Validation

02:22

Setting Unique Constraint

03:54

Validating Length of Characters

02:49

Built-in min and max validator

02:30

Applying Custom Validations

02:54

Getting the field value

02:14

Assignment - Password and Email Validation

10:20

Introduction

01:20

Configuring Sequelize with MyStore

04:09

Updating Products Model

03:27

Updating Users Model

01:24

Synchronizing models with the database

01:52

Updating Product CRUD Operations

08:57

Updating User Auth

03:49

Managing Login Session With Sequelize

03:13

Introduction To MongoDB

03:28

Installing MongoDB

05:55

Creating Database with MongoDB

04:45

Connecting MongoDB with Node.js

05:51

Inserting document

05:32

Finding Data From Collection

07:00

What is a Cursor?

04:55

Sorting and Limiting

04:57

Counting Documents

03:40

Assignment - Total Employees Earning Above 50K

04:00

Updating Documents

04:39

Assignment - Increase and decrease salary by department

02:30

Deleting Documents

03:36

Introduction To Mongoose

03:46

Installing Mongoose

03:26

Creating Collection Using model()

06:26

Schema - A Better Way

01:55

Required Constraints In Schema

04:00

Unique Constraints In Schema

00:00

Built-in Validators (minLength & maxLength)

02:09

Built-in Numeric min & max Validators

01:56

Implementing Custom Validations

04:57

{ VALUE } Placeholder

01:43

Assignment - UserSchema with Password and Email Validation

08:40

CRUD With Mongoose (CREATE Operation)

02:43

CRUD With Mongoose (READ Operation)

02:24

CRUD With Mongoose(UPDATE Operation)

04:19

CRUD With Mongoose (DELETE Operation)

02:09

Introduction

01:47

Configuring Mongoose with MyStore

03:23

Creating Product Schema and Model

01:34

Creating User Schema and Model

03:43

Defining Product CRUD Operations

10:19

Defining User Auth

06:04

Managing Login Session With MongoDB

04:12

Introduction to web sockets

05:04

Getting Started With Web Socket

03:22

Configuring Socket.IO Server

06:15

Disconnecting Socket.IO With Client

01:17

Socket.IO Events - Part 1 (Transfer messages in real time)

06:01

Socket.IO Events - Part 2 (Broadcasting message)

03:28

Assignment - Broadcasting message to connected clients

04:12

Event Acknowledgements

03:56

Rendering Messages Inside The Template

05:37

Creating A Join Page

04:21

Storing & Displaying Connected Users In Chat Page - Part 1

08:22

Storing & Displaying Connected Users In Chat Page - Part 2

02:38

Sorting The Displayed Users

05:50

Updating the UI

04:17

Sending Private Message

08:01

Implementing A Persistent User ID

09:48

Sending Images in the Chat

07:11

Finalizing the chat app

02:25

Requirements

Basic HTML

CSS

JavaScript

but it isn't mandatory!

Time, attention and dedication to learn & practice.

5.0

Course Rating

443 Reviews

Hemang Pavar
Hemang Pavar

February 5, 2025

"I love this course"