Salutations of Welcome!
Introduction to NPM and Node.js
-
3Section Beginning
-
4What Is Node.js and Why Use It
-
5Running Javascript Outside the Browser
-
6Using Modules 1 Core Modules
-
7Reading and Writing Files
-
8Blocking and Non-Blocking_ Asynchronous Nature of Node.js
-
9Reading and Writing Files Asynchronously
-
10Creating a Simple Web Server
-
11Routing
-
12Building a (Very) Simple API
-
13HTML Templating Building the Templates
-
14HTML Templating_ Filling the Templates
-
15Parsing Variables from URLs
-
16Using Modules 2 Our Own Modules
-
17Introduction to NPM and the package.json File
-
18Types of Packages and Installs
-
19Using Modules 3rd Party Modules
-
20Package Versioning and Updating
-
21Setting up Prettier in VS Code
-
22Recap and What's Next
Back-End Web Development Overview
How Node.js Functions A Behind-the-Scenes Look
-
28Section Beginning
-
29Node, V8, Libuv and C
-
30Processes, Threads and the Thread Pool
-
31The Node.js Event Loop
-
32The Event Loop in Practice
-
33Events and Event-Driven Architecture
-
34Events in Practice
-
35Introduction to Streams
-
36Streams in Practice
-
37How Requiring Modules Really Works
-
38Requiring Modules in Practice
Express Let's Get the Natours API Built!
-
39Section Beginning
-
40What is Express
-
41Installing Postman
-
42Setting up Express and Basic Routing
-
43APIs and RESTful API Design
-
44Starting Our API_ Handling GET Requests
-
45Handling POST Requests
-
46Responding to URL Parameters
-
47Handling PATCH Requests
-
48Handling DELETE Requests
-
49Refactoring Our Routes
-
50Middleware and the Request-Response Cycle
-
51Creating Our Own Middleware
-
52Using 3rd-Party Middleware
-
53Implementing the Users Routes
-
54Creating and Mounting Multiple Routers
-
55A Better File Structure
-
56Param Middleware
-
57Chaining Multiple Middleware Functions
-
58Serving Static Files
-
59Environment Variables
-
60Setting up ESLint Prettier in VS Code
Overview of MongoDB
Using Mongoose and MongoDB
-
66Section Beginning
-
67Connecting Our Database with the Express App
-
68What Is Mongoose
-
69Creating a Simple Tour Model
-
70Creating Documents and Testing the Model
-
71Intro to Back-End Architecture MVC, Types of Logic, and More
-
72Refactoring for MVC
-
73Another Way of Creating Documents
-
74Reading Documents
-
75Updating Documents
-
76Deleting Documents
-
77Modelling the Tours
-
78Importing Development Data
-
79Making the API Better Filtering
-
80Making the API Better Advanced Filtering
-
81Making the API Better Sorting
-
82Making the API Better Limiting Fields
-
83Making the API Better Pagination
-
84Making the API Better Aliasing
-
85Refactoring API Features
-
86Aggregation Pipeline_ Matching and Grouping
-
87Aggregation Pipeline Unwinding and Projecting
-
88Virtual Properties
-
89Document Middleware
-
90Query Middleware
-
91Aggregation Middleware
-
92Data Validation_ Built-In Validators
-
93Data Validation Custom Validators
handling errors using express
-
94Section Beginning
-
95Debugging Node.js with ndb
-
96Handling Unhandled Routes
-
97An Overview of Error Handling
-
98Implementing a Global Error Handling Middleware
-
99Better Errors and Refactoring
-
100Catching Errors in Async Functions
-
101Adding 404 Not Found Errors
-
102Errors During Development vs Production
-
103Handling Invalid Database IDs
-
104Handling Duplicate Database Fields
-
105Handling Mongoose Validation Errors
-
106Errors Outside Express_ Unhandled Rejections
-
107Catching Uncaught Exceptions
Security Authorization and Authentication
-
108Section Beginning
-
109Modelling Users
-
110Creating New Users
-
111Managing Passwords
-
112How Authentication with JWT Works
-
113Signing up Users
-
114Logging in Users
-
115Protecting Tour Routes Part 1
-
116Protecting Tour Routes Part 2
-
117Advanced Postman Setup
-
118Authorization User Roles and Permissions
-
119Password Reset Functionality Reset Token
-
120Sending Emails with Nodemailer
-
121Password Reset Functionality Setting New Password
-
122Updating the Current User Password
-
123Updating the Current User Data
-
124Deleting the Current User
-
125Security Best Practices
-
126Sending JWT via Cookie
-
127Implementing Rate Limiting
-
128Setting Security HTTP Headers
-
129Data Sanitization
-
130Preventing Parameter Pollution