Salutations of Welcome!
1
Course Structure and Projects
2
Let's Install Node.js
Introduction to NPM and Node.js
1
Section Beginning
2
What Is Node.js and Why Use It
3
Running Javascript Outside the Browser
4
Using Modules 1 Core Modules
5
Reading and Writing Files
6
Blocking and Non-Blocking_ Asynchronous Nature of Node.js
7
Reading and Writing Files Asynchronously
8
Creating a Simple Web Server
9
Routing
10
Building a (Very) Simple API
11
HTML Templating Building the Templates
12
HTML Templating_ Filling the Templates
13
Parsing Variables from URLs
14
Using Modules 2 Our Own Modules
15
Introduction to NPM and the package.json File
16
Types of Packages and Installs
17
Using Modules 3rd Party Modules
18
Package Versioning and Updating
19
Setting up Prettier in VS Code
20
Recap and What's Next
Back-End Web Development Overview
1
Section Beginning
2
An Overview of How the Web Works
3
HTTP in Action
4
Front-End vs. Back-End Web Development
5
Static vs Dynamic vs API
How Node.js Functions A Behind-the-Scenes Look
1
Section Beginning
2
Node, V8, Libuv and C
3
Processes, Threads and the Thread Pool
4
The Node.js Event Loop
5
The Event Loop in Practice
6
Events and Event-Driven Architecture
7
Events in Practice
8
Introduction to Streams
9
Streams in Practice
10
How Requiring Modules Really Works
11
Requiring Modules in Practice
Express Let's Get the Natours API Built!
1
Section Beginning
2
What is Express
3
Installing Postman
4
Setting up Express and Basic Routing
5
APIs and RESTful API Design
6
Starting Our API_ Handling GET Requests
7
Handling POST Requests
8
Responding to URL Parameters
9
Handling PATCH Requests
10
Handling DELETE Requests
11
Refactoring Our Routes
12
Middleware and the Request-Response Cycle
13
Creating Our Own Middleware
14
Using 3rd-Party Middleware
15
Implementing the Users Routes
16
Creating and Mounting Multiple Routers
17
A Better File Structure
18
Param Middleware
19
Chaining Multiple Middleware Functions
20
Serving Static Files
21
Environment Variables
22
Setting up ESLint Prettier in VS Code
Overview of MongoDB
1
Section Beginning
2
What is MongoDB
3
Using Compass App for CRUD Operations
4
Creating a Hosted Database with Atlas
5
Connecting to Our Hosted Database
Using Mongoose and MongoDB
1
Section Beginning
2
Connecting Our Database with the Express App
3
What Is Mongoose
4
Creating a Simple Tour Model
5
Creating Documents and Testing the Model
6
Intro to Back-End Architecture MVC, Types of Logic, and More
7
Refactoring for MVC
8
Another Way of Creating Documents
9
Reading Documents
10
Updating Documents
11
Deleting Documents
12
Modelling the Tours
13
Importing Development Data
14
Making the API Better Filtering
15
Making the API Better Advanced Filtering
16
Making the API Better Sorting
17
Making the API Better Limiting Fields
18
Making the API Better Pagination
19
Making the API Better Aliasing
20
Refactoring API Features
21
Aggregation Pipeline_ Matching and Grouping
22
Aggregation Pipeline Unwinding and Projecting
23
Virtual Properties
24
Document Middleware
25
Query Middleware
26
Aggregation Middleware
27
Data Validation_ Built-In Validators
28
Data Validation Custom Validators
handling errors using express
1
Section Beginning
2
Debugging Node.js with ndb
3
Handling Unhandled Routes
4
An Overview of Error Handling
5
Implementing a Global Error Handling Middleware
6
Better Errors and Refactoring
7
Catching Errors in Async Functions
8
Adding 404 Not Found Errors
9
Errors During Development vs Production
10
Handling Invalid Database IDs
11
Handling Duplicate Database Fields
12
Handling Mongoose Validation Errors
13
Errors Outside Express_ Unhandled Rejections
14
Catching Uncaught Exceptions
Security Authorization and Authentication
1
Section Beginning
2
Modelling Users
3
Creating New Users
4
Managing Passwords
5
How Authentication with JWT Works
6
Signing up Users
7
Logging in Users
8
Protecting Tour Routes Part 1
9
Protecting Tour Routes Part 2
10
Advanced Postman Setup
11
Authorization User Roles and Permissions
12
Password Reset Functionality Reset Token
13
Sending Emails with Nodemailer
14
Password Reset Functionality Setting New Password
15
Updating the Current User Password
16
Updating the Current User Data
17
Deleting the Current User
18
Security Best Practices
19
Sending JWT via Cookie
20
Implementing Rate Limiting
21
Setting Security HTTP Headers
22
Data Sanitization
23
Preventing Parameter Pollution