FAQ
FAQ area empty
Course curriculum
-
Course Structure and Projects
Xem trước -
Let's Install Node.js
Xem trước -
Course Structure and Projects
Xem trước -
Let's Install Node.js
Xem trước -
Course Structure and Projects
Xem trước -
READ BEFORE YOU START!
Xem trước -
Let's Install Node.js
Xem trước -
Course Structure and Projects
Xem trước -
READ BEFORE YOU START!
Xem trước -
Let's Install Node.js
Xem trước
-
Section Intro
Xem trước -
What Is Node.js and Why Use It?
Xem trước -
Running Javascript Outside the Browser
Xem trước -
Using Modules 1: Core Modules
Xem trước -
Reading and Writing Files
Xem trước -
Blocking and Non-Blocking: Asynchronous Nature of Node.js
Xem trước -
Reading and Writing Files Asynchronously
Xem trước -
Creating a Simple Web Server
Xem trước -
Routing
Xem trước -
Building a (Very) Simple API
Xem trước -
HTML Templating: Building the Templates
Xem trước -
HTML Templating: Filling the Templates
Xem trước -
Parsing Variables from URLs
Xem trước -
Using Modules 2: Our Own Modules
Xem trước -
Introduction to NPM and the package.json File
Xem trước -
Types of Packages and Installs
Xem trước -
Using Modules 3: 3rd Party Modules
Xem trước -
Package Versioning and Updating
Xem trước -
Setting up Prettier in VS Code
Xem trước -
Recap and What's Next
Xem trước -
Section Intro
Xem trước -
What Is Node.js and Why Use It?
Xem trước -
Running Javascript Outside the Browser
Xem trước -
Using Modules 1: Core Modules
Xem trước -
Reading and Writing Files
Xem trước -
Blocking and Non-Blocking: Asynchronous Nature of Node.js
Xem trước -
Reading and Writing Files Asynchronously
Xem trước -
Creating a Simple Web Server
Xem trước -
Routing
Xem trước -
Building a (Very) Simple API
Xem trước -
HTML Templating: Building the Templates
Xem trước -
HTML Templating: Filling the Templates
Xem trước -
Parsing Variables from URLs
Xem trước -
Using Modules 2: Our Own Modules
Xem trước -
Introduction to NPM and the package.json File
Xem trước -
Types of Packages and Installs
Xem trước -
Using Modules 3: 3rd Party Modules
Xem trước -
Package Versioning and Updating
Xem trước -
Setting up Prettier in VS Code
Xem trước -
Recap and What's Next
Xem trước -
Section Intro
Xem trước -
What Is Node.js and Why Use It?
Xem trước -
Running Javascript Outside the Browser
Xem trước -
Using Modules 1: Core Modules
Xem trước -
Reading and Writing Files
Xem trước -
Blocking and Non-Blocking: Asynchronous Nature of Node.js
Xem trước -
Reading and Writing Files Asynchronously
Xem trước -
Creating a Simple Web Server
Xem trước -
Routing
Xem trước -
Building a (Very) Simple API
Xem trước -
HTML Templating: Building the Templates
Xem trước -
HTML Templating: Filling the Templates
Xem trước -
Parsing Variables from URLs
Xem trước -
Using Modules 2: Our Own Modules
Xem trước -
Introduction to NPM and the package.json File
Xem trước -
Types of Packages and Installs
Xem trước -
Using Modules 3: 3rd Party Modules
Xem trước -
Package Versioning and Updating
Xem trước -
Setting up Prettier in VS Code
Xem trước -
Recap and What's Next
Xem trước -
Section Intro
Xem trước -
What Is Node.js and Why Use It?
Xem trước -
Running Javascript Outside the Browser
Xem trước -
Using Modules 1: Core Modules
Xem trước -
Reading and Writing Files
Xem trước -
Blocking and Non-Blocking: Asynchronous Nature of Node.js
Xem trước -
Reading and Writing Files Asynchronously
Xem trước -
Creating a Simple Web Server
Xem trước -
Routing
Xem trước -
Building a (Very) Simple API
Xem trước -
HTML Templating: Building the Templates
Xem trước -
HTML Templating: Filling the Templates
Xem trước -
Parsing Variables from URLs
Xem trước -
Using Modules 2: Our Own Modules
Xem trước -
Introduction to NPM and the package.json File
Xem trước -
Types of Packages and Installs
Xem trước -
Using Modules 3: 3rd Party Modules
Xem trước -
Package Versioning and Updating
Xem trước -
Setting up Prettier in VS Code
Xem trước -
Recap and What's Next
Xem trước
-
Section Intro
Xem trước -
An Overview of How the Web Works
Xem trước -
HTTP in Action
Xem trước -
Front-End vs. Back-End Web Development
Xem trước -
Static vs Dynamic vs API
Xem trước -
Section Intro
Xem trước -
An Overview of How the Web Works
Xem trước -
HTTP in Action
Xem trước -
Front-End vs. Back-End Web Development
Xem trước -
Static vs Dynamic vs API
Xem trước -
Section Intro
Xem trước -
An Overview of How the Web Works
Xem trước -
HTTP in Action
Xem trước -
Front-End vs. Back-End Web Development
Xem trước -
Static vs Dynamic vs API
Xem trước -
Section Intro
Xem trước -
An Overview of How the Web Works
Xem trước -
HTTP in Action
Xem trước -
Front-End vs. Back-End Web Development
Xem trước -
Static vs Dynamic vs API
Xem trước
-
Section Intro
Xem trước -
Node, V8, Libuv and C++
Xem trước -
Processes, Threads and the Thread Pool
Xem trước -
The Node.js Event Loop
Xem trước -
The Event Loop in Practice
Xem trước -
Events and Event-Driven Architecture
Xem trước -
Events in Practice
Xem trước -
Introduction to Streams
Xem trước -
Streams in Practice
Xem trước -
How Requiring Modules Really Works
Xem trước -
Requiring Modules in Practice
Xem trước -
Section Intro
Xem trước -
Node, V8, Libuv and C++
Xem trước -
Processes, Threads and the Thread Pool
Xem trước -
The Node.js Event Loop
Xem trước -
The Event Loop in Practice
Xem trước -
Events and Event-Driven Architecture
Xem trước -
Events in Practice
Xem trước -
Introduction to Streams
Xem trước -
Streams in Practice
Xem trước -
How Requiring Modules Really Works
Xem trước -
Requiring Modules in Practice
Xem trước -
Section Intro
Xem trước -
Node, V8, Libuv and C++
Xem trước -
Processes, Threads and the Thread Pool
Xem trước -
The Node.js Event Loop
Xem trước -
The Event Loop in Practice
Xem trước -
Events and Event-Driven Architecture
Xem trước -
Events in Practice
Xem trước -
Introduction to Streams
Xem trước -
Streams in Practice
Xem trước -
How Requiring Modules Really Works
Xem trước -
Requiring Modules in Practice
Xem trước -
Section Intro
Xem trước -
Node, V8, Libuv and C++
Xem trước -
Processes, Threads and the Thread Pool
Xem trước -
The Node.js Event Loop
Xem trước -
The Event Loop in Practice
Xem trước -
Events and Event-Driven Architecture
Xem trước -
Events in Practice
Xem trước -
Introduction to Streams
Xem trước -
Streams in Practice
Xem trước -
How Requiring Modules Really Works
Xem trước -
Requiring Modules in Practice
Xem trước
-
Section Intro
Xem trước -
The Problem with Callbacks: Callback Hell
Xem trước -
From Callback Hell to Promises
Xem trước -
Building Promises
Xem trước -
Consuming Promises with Async/Await
Xem trước -
Returning Values from Async Functions
Xem trước -
Waiting for Multiple Promises Simultaneously
Xem trước -
Section Intro
Xem trước -
The Problem with Callbacks: Callback Hell
Xem trước -
From Callback Hell to Promises
Xem trước -
Building Promises
Xem trước -
Consuming Promises with Async/Await
Xem trước -
Returning Values from Async Functions
Xem trước -
Waiting for Multiple Promises Simultaneously
Xem trước -
Section Intro
Xem trước -
The Problem with Callbacks: Callback Hell
Xem trước -
From Callback Hell to Promises
Xem trước -
Building Promises
Xem trước -
Consuming Promises with Async/Await
Xem trước -
Returning Values from Async Functions
Xem trước -
Waiting for Multiple Promises Simultaneously
Xem trước -
Section Intro
Xem trước -
The Problem with Callbacks: Callback Hell
Xem trước -
From Callback Hell to Promises
Xem trước -
Building Promises
Xem trước -
Consuming Promises with Async/Await
Xem trước -
Returning Values from Async Functions
Xem trước -
Waiting for Multiple Promises Simultaneously
Xem trước
-
Section Intro
Xem trước -
What is Express?
Xem trước -
Installing Postman
Xem trước -
Setting up Express and Basic Routing
Xem trước -
APIs and RESTful API Design
Xem trước -
Starting Our API: Handling GET Requests
Xem trước -
Handling POST Requests
Xem trước -
Responding to URL Parameters
Xem trước -
Handling PATCH Requests
Xem trước -
Handling DELETE Requests
Xem trước -
Refactoring Our Routes
Xem trước -
Middleware and the Request-Response Cycle
Xem trước -
Creating Our Own Middleware
Xem trước -
Using 3rd-Party Middleware
Xem trước -
Implementing the "Users" Routes
Xem trước -
Creating and Mounting Multiple Routers
Xem trước -
A Better File Structure
Xem trước -
Param Middleware
Xem trước -
Chaining Multiple Middleware Functions
Xem trước -
Serving Static Files
Xem trước -
Environment Variables
Xem trước -
Setting up ESLint + Prettier in VS Code
Xem trước -
Section Intro
Xem trước -
What is Express?
Xem trước -
Installing Postman
Xem trước -
Setting up Express and Basic Routing
Xem trước -
APIs and RESTful API Design
Xem trước -
Starting Our API: Handling GET Requests
Xem trước -
Handling POST Requests
Xem trước -
Responding to URL Parameters
Xem trước -
Handling PATCH Requests
Xem trước -
Handling DELETE Requests
Xem trước -
Refactoring Our Routes
Xem trước -
Middleware and the Request-Response Cycle
Xem trước -
Creating Our Own Middleware
Xem trước -
Using 3rd-Party Middleware
Xem trước -
Implementing the "Users" Routes
Xem trước -
Creating and Mounting Multiple Routers
Xem trước -
A Better File Structure
Xem trước -
Param Middleware
Xem trước -
Chaining Multiple Middleware Functions
Xem trước -
Serving Static Files
Xem trước -
Environment Variables
Xem trước -
Setting up ESLint + Prettier in VS Code
Xem trước -
Section Intro
Xem trước -
What is Express?
Xem trước -
Installing Postman
Xem trước -
Setting up Express and Basic Routing
Xem trước -
APIs and RESTful API Design
Xem trước -
Starting Our API: Handling GET Requests
Xem trước -
Handling POST Requests
Xem trước -
Responding to URL Parameters
Xem trước -
Handling PATCH Requests
Xem trước -
Handling DELETE Requests
Xem trước -
Refactoring Our Routes
Xem trước -
Middleware and the Request-Response Cycle
Xem trước -
Creating Our Own Middleware
Xem trước -
Using 3rd-Party Middleware
Xem trước -
Implementing the "Users" Routes
Xem trước -
Creating and Mounting Multiple Routers
Xem trước -
A Better File Structure
Xem trước -
Param Middleware
Xem trước -
Chaining Multiple Middleware Functions
Xem trước -
Serving Static Files
Xem trước -
Environment Variables
Xem trước -
Setting up ESLint + Prettier in VS Code
Xem trước -
Section Intro
Xem trước -
What is Express?
Xem trước -
Installing Postman
Xem trước -
Setting up Express and Basic Routing
Xem trước -
APIs and RESTful API Design
Xem trước -
Starting Our API: Handling GET Requests
Xem trước -
Handling POST Requests
Xem trước -
Responding to URL Parameters
Xem trước -
Handling PATCH Requests
Xem trước -
Handling DELETE Requests
Xem trước -
Refactoring Our Routes
Xem trước -
Middleware and the Request-Response Cycle
Xem trước -
Creating Our Own Middleware
Xem trước -
Using 3rd-Party Middleware
Xem trước -
Implementing the "Users" Routes
Xem trước -
Creating and Mounting Multiple Routers
Xem trước -
A Better File Structure
Xem trước -
Param Middleware
Xem trước -
Chaining Multiple Middleware Functions
Xem trước -
Serving Static Files
Xem trước -
Environment Variables
Xem trước -
Setting up ESLint + Prettier in VS Code
Xem trước
-
Section Intro
Xem trước -
What is MongoDB?
Xem trước -
[OPTIONAL] Installing MongoDB on macOS
Xem trước -
[OPTIONAL] Installing MongoDB on Windows
Xem trước -
[OPTIONAL] Creating a Local Database
Xem trước -
[OPTIONAL] CRUD: Creating Documents
Xem trước -
[OPTIONAL] CRUD: Querying (Reading) Documents
Xem trước -
[OPTIONAL] CRUD: Updating Documents
Xem trước -
[OPTIONAL] CRUD: Deleting Documents
Xem trước -
Using Compass App for CRUD Operations
Xem trước -
Creating a Hosted Database with Atlas
Xem trước -
Connecting to Our Hosted Database
Xem trước -
Section Intro
Xem trước -
What is MongoDB?
Xem trước -
[OPTIONAL] Installing MongoDB on macOS
Xem trước -
[OPTIONAL] Installing MongoDB on Windows
Xem trước -
[OPTIONAL] Creating a Local Database
Xem trước -
[OPTIONAL] CRUD: Creating Documents
Xem trước -
[OPTIONAL] CRUD: Querying (Reading) Documents
Xem trước -
[OPTIONAL] CRUD: Updating Documents
Xem trước -
[OPTIONAL] CRUD: Deleting Documents
Xem trước -
Using Compass App for CRUD Operations
Xem trước -
Creating a Hosted Database with Atlas
Xem trước -
Connecting to Our Hosted Database
Xem trước -
Section Intro
Xem trước -
What is MongoDB?
Xem trước -
No Need to Install MongoDB Locally
-
[OPTIONAL] Installing MongoDB on macOS
Xem trước -
[OPTIONAL] Installing MongoDB on Windows
Xem trước -
[OPTIONAL] Creating a Local Database
Xem trước -
[OPTIONAL] CRUD: Creating Documents
Xem trước -
[OPTIONAL] CRUD: Querying (Reading) Documents
Xem trước -
[OPTIONAL] CRUD: Updating Documents
Xem trước -
[OPTIONAL] CRUD: Deleting Documents
Xem trước -
Using Compass App for CRUD Operations
Xem trước -
Creating a Hosted Database with Atlas
Xem trước -
Connecting to Our Hosted Database
Xem trước -
Section Intro
Xem trước -
What is MongoDB?
Xem trước -
No Need to Install MongoDB Locally
-
[OPTIONAL] Installing MongoDB on macOS
Xem trước -
[OPTIONAL] Installing MongoDB on Windows
Xem trước -
[OPTIONAL] Creating a Local Database
Xem trước -
[OPTIONAL] CRUD: Creating Documents
Xem trước -
[OPTIONAL] CRUD: Querying (Reading) Documents
Xem trước -
[OPTIONAL] CRUD: Updating Documents
Xem trước -
[OPTIONAL] CRUD: Deleting Documents
Xem trước -
Using Compass App for CRUD Operations
Xem trước -
Creating a Hosted Database with Atlas
Xem trước -
Connecting to Our Hosted Database
Xem trước
-
Section Intro
Xem trước -
Connecting Our Database with the Express App
Xem trước -
What Is Mongoose?
Xem trước -
Creating a Simple Tour Model
Xem trước -
Creating Documents and Testing the Model
Xem trước -
Intro to Back-End Architecture: MVC, Types of Logic, and More
Xem trước -
Refactoring for MVC
Xem trước -
Another Way of Creating Documents
Xem trước -
Reading Documents
Xem trước -
Updating Documents
Xem trước -
Deleting Documents
Xem trước -
Modelling the Tours
Xem trước -
Importing Development Data
Xem trước -
Making the API Better: Filtering
Xem trước -
Making the API Better: Advanced Filtering
Xem trước -
Making the API Better: Sorting
Xem trước -
Making the API Better: Limiting Fields
Xem trước -
Making the API Better: Pagination
Xem trước -
Making the API Better: Aliasing
Xem trước -
Refactoring API Features
Xem trước -
Aggregation Pipeline: Matching and Grouping
Xem trước -
Aggregation Pipeline: Unwinding and Projecting
Xem trước -
Virtual Properties
Xem trước -
Document Middleware
Xem trước -
Query Middleware
Xem trước -
Aggregation Middleware
Xem trước -
Data Validation: Built-In Validators
Xem trước -
Data Validation: Custom Validators
Xem trước -
Section Intro
Xem trước -
Connecting Our Database with the Express App
Xem trước -
What Is Mongoose?
Xem trước -
Creating a Simple Tour Model
Xem trước -
Creating Documents and Testing the Model
Xem trước -
Intro to Back-End Architecture: MVC, Types of Logic, and More
Xem trước -
Refactoring for MVC
Xem trước -
Another Way of Creating Documents
Xem trước -
Reading Documents
Xem trước -
Updating Documents
Xem trước -
Deleting Documents
Xem trước -
Modelling the Tours
Xem trước -
Importing Development Data
Xem trước -
Making the API Better: Filtering
Xem trước -
Making the API Better: Advanced Filtering
Xem trước -
Making the API Better: Sorting
Xem trước -
Making the API Better: Limiting Fields
Xem trước -
Making the API Better: Pagination
Xem trước -
Making the API Better: Aliasing
Xem trước -
Refactoring API Features
Xem trước -
Aggregation Pipeline: Matching and Grouping
Xem trước -
Aggregation Pipeline: Unwinding and Projecting
Xem trước -
Virtual Properties
Xem trước -
Document Middleware
Xem trước -
Query Middleware
Xem trước -
Aggregation Middleware
Xem trước -
Data Validation: Built-In Validators
Xem trước -
Data Validation: Custom Validators
Xem trước -
Section Intro
Xem trước -
Connecting Our Database with the Express App
Xem trước -
What Is Mongoose?
Xem trước -
Creating a Simple Tour Model
Xem trước -
Creating Documents and Testing the Model
Xem trước -
Intro to Back-End Architecture: MVC, Types of Logic, and More
Xem trước -
Refactoring for MVC
Xem trước -
Another Way of Creating Documents
Xem trước -
Reading Documents
Xem trước -
Updating Documents
Xem trước -
Deleting Documents
Xem trước -
Modelling the Tours
Xem trước -
Importing Development Data
Xem trước -
Making the API Better: Filtering
Xem trước -
Making the API Better: Advanced Filtering
Xem trước -
Making the API Better: Sorting
Xem trước -
Making the API Better: Limiting Fields
Xem trước -
Making the API Better: Pagination
Xem trước -
Making the API Better: Aliasing
Xem trước -
Refactoring API Features
Xem trước -
Aggregation Pipeline: Matching and Grouping
Xem trước -
Aggregation Pipeline: Unwinding and Projecting
Xem trước -
Virtual Properties
Xem trước -
Document Middleware
Xem trước -
Query Middleware
Xem trước -
Aggregation Middleware
Xem trước -
Data Validation: Built-In Validators
Xem trước -
Data Validation: Custom Validators
Xem trước -
Section Intro
Xem trước -
Connecting Our Database with the Express App
Xem trước -
What Is Mongoose?
Xem trước -
Creating a Simple Tour Model
Xem trước -
Creating Documents and Testing the Model
Xem trước -
Intro to Back-End Architecture: MVC, Types of Logic, and More
Xem trước -
Refactoring for MVC
Xem trước -
Another Way of Creating Documents
Xem trước -
Reading Documents
Xem trước -
Updating Documents
Xem trước -
Deleting Documents
Xem trước -
Modelling the Tours
Xem trước -
Importing Development Data
Xem trước -
Making the API Better: Filtering
Xem trước -
Making the API Better: Advanced Filtering
Xem trước -
Making the API Better: Sorting
Xem trước -
Making the API Better: Limiting Fields
Xem trước -
Making the API Better: Pagination
Xem trước -
Making the API Better: Aliasing
Xem trước -
Refactoring API Features
Xem trước -
Aggregation Pipeline: Matching and Grouping
Xem trước -
Aggregation Pipeline: Unwinding and Projecting
Xem trước -
Virtual Properties
Xem trước -
Document Middleware
Xem trước -
Query Middleware
Xem trước -
Aggregation Middleware
Xem trước -
Data Validation: Built-In Validators
Xem trước -
Data Validation: Custom Validators
Xem trước
-
Section Intro
Xem trước -
Debugging Node.js with ndb
Xem trước -
Handling Unhandled Routes
Xem trước -
An Overview of Error Handling
Xem trước -
Implementing a Global Error Handling Middleware
Xem trước -
Better Errors and Refactoring
Xem trước -
Catching Errors in Async Functions
Xem trước -
Adding 404 Not Found Errors
Xem trước -
Errors During Development vs Production
Xem trước -
Handling Invalid Database IDs
Xem trước -
Handling Duplicate Database Fields
Xem trước -
Handling Mongoose Validation Errors
Xem trước -
Errors Outside Express: Unhandled Rejections
Xem trước -
Catching Uncaught Exceptions
Xem trước -
Section Intro
Xem trước -
Debugging Node.js with ndb
Xem trước -
Handling Unhandled Routes
Xem trước -
An Overview of Error Handling
Xem trước -
Implementing a Global Error Handling Middleware
Xem trước -
Better Errors and Refactoring
Xem trước -
Catching Errors in Async Functions
Xem trước -
Adding 404 Not Found Errors
Xem trước -
Errors During Development vs Production
Xem trước -
Handling Invalid Database IDs
Xem trước -
Handling Duplicate Database Fields
Xem trước -
Handling Mongoose Validation Errors
Xem trước -
Errors Outside Express: Unhandled Rejections
Xem trước -
Catching Uncaught Exceptions
Xem trước -
Section Intro
Xem trước -
Debugging Node.js with ndb
Xem trước -
Handling Unhandled Routes
Xem trước -
An Overview of Error Handling
Xem trước -
Implementing a Global Error Handling Middleware
Xem trước -
Better Errors and Refactoring
Xem trước -
Catching Errors in Async Functions
Xem trước -
Adding 404 Not Found Errors
Xem trước -
Errors During Development vs Production
Xem trước -
Handling Invalid Database IDs
Xem trước -
Handling Duplicate Database Fields
Xem trước -
Handling Mongoose Validation Errors
Xem trước -
Errors Outside Express: Unhandled Rejections
Xem trước -
Catching Uncaught Exceptions
Xem trước -
Section Intro
Xem trước -
Debugging Node.js with ndb
Xem trước -
Handling Unhandled Routes
Xem trước -
An Overview of Error Handling
Xem trước -
Implementing a Global Error Handling Middleware
Xem trước -
Better Errors and Refactoring
Xem trước -
Catching Errors in Async Functions
Xem trước -
Adding 404 Not Found Errors
Xem trước -
Errors During Development vs Production
Xem trước -
Handling Invalid Database IDs
Xem trước -
Handling Duplicate Database Fields
Xem trước -
Handling Mongoose Validation Errors
Xem trước -
Errors Outside Express: Unhandled Rejections
Xem trước -
Catching Uncaught Exceptions
Xem trước
-
Section Intro
Xem trước -
Modelling Users
Xem trước -
Creating New Users
Xem trước -
Managing Passwords
Xem trước -
How Authentication with JWT Works
Xem trước -
Signing up Users
Xem trước -
Logging in Users
Xem trước -
Protecting Tour Routes - Part 1
Xem trước -
Protecting Tour Routes - Part 2
Xem trước -
Advanced Postman Setup
Xem trước -
Authorization: User Roles and Permissions
Xem trước -
Password Reset Functionality: Reset Token
Xem trước -
Sending Emails with Nodemailer
Xem trước -
Password Reset Functionality: Setting New Password
Xem trước -
Updating the Current User: Password
Xem trước -
Updating the Current User: Data
Xem trước -
Deleting the Current User
Xem trước -
Security Best Practices
Xem trước -
Sending JWT via Cookie
Xem trước -
Implementing Rate Limiting
Xem trước -
Setting Security HTTP Headers
Xem trước -
Data Sanitization
Xem trước -
Preventing Parameter Pollution
Xem trước -
Section Intro
Xem trước -
Modelling Users
Xem trước -
Creating New Users
Xem trước -
Managing Passwords
Xem trước -
How Authentication with JWT Works
Xem trước -
Signing up Users
Xem trước -
Logging in Users
Xem trước -
Protecting Tour Routes - Part 1
Xem trước -
Protecting Tour Routes - Part 2
Xem trước -
Advanced Postman Setup
Xem trước -
Authorization: User Roles and Permissions
Xem trước -
Password Reset Functionality: Reset Token
Xem trước -
Sending Emails with Nodemailer
Xem trước -
Password Reset Functionality: Setting New Password
Xem trước -
Updating the Current User: Password
Xem trước -
Updating the Current User: Data
Xem trước -
Deleting the Current User
Xem trước -
Security Best Practices
Xem trước -
Sending JWT via Cookie
Xem trước -
Implementing Rate Limiting
Xem trước -
Setting Security HTTP Headers
Xem trước -
Data Sanitization
Xem trước -
Preventing Parameter Pollution
Xem trước -
Section Intro
Xem trước -
Modelling Users
Xem trước -
Creating New Users
Xem trước -
Managing Passwords
Xem trước -
How Authentication with JWT Works
Xem trước -
Signing up Users
Xem trước -
Logging in Users
Xem trước -
Protecting Tour Routes - Part 1
Xem trước -
Protecting Tour Routes - Part 2
Xem trước -
Advanced Postman Setup
Xem trước -
Authorization: User Roles and Permissions
Xem trước -
Password Reset Functionality: Reset Token
Xem trước -
Sending Emails with Nodemailer
Xem trước -
Password Reset Functionality: Setting New Password
Xem trước -
Updating the Current User: Password
Xem trước -
Updating the Current User: Data
Xem trước -
Deleting the Current User
Xem trước -
Security Best Practices
Xem trước -
Sending JWT via Cookie
Xem trước -
Implementing Rate Limiting
Xem trước -
Setting Security HTTP Headers
Xem trước -
Data Sanitization
Xem trước -
Preventing Parameter Pollution
Xem trước -
Section Intro
Xem trước -
Modelling Users
Xem trước -
Creating New Users
Xem trước -
Managing Passwords
Xem trước -
How Authentication with JWT Works
Xem trước -
Signing up Users
Xem trước -
Logging in Users
Xem trước -
Protecting Tour Routes - Part 1
Xem trước -
Protecting Tour Routes - Part 2
Xem trước -
Advanced Postman Setup
Xem trước -
Authorization: User Roles and Permissions
Xem trước -
Password Reset Functionality: Reset Token
Xem trước -
Sending Emails with Nodemailer
Xem trước -
Password Reset Functionality: Setting New Password
Xem trước -
Updating the Current User: Password
Xem trước -
Updating the Current User: Data
Xem trước -
Deleting the Current User
Xem trước -
Security Best Practices
Xem trước -
Sending JWT via Cookie
Xem trước -
Implementing Rate Limiting
Xem trước -
Setting Security HTTP Headers
Xem trước -
Data Sanitization
Xem trước -
Preventing Parameter Pollution
Xem trước
-
Section Intro
Xem trước -
MongoDB Data Modelling
Xem trước -
Designing Our Data Model
Xem trước -
Modelling Locations (Geospatial Data)
Xem trước -
Modelling Tour Guides: Embedding
Xem trước -
Modelling Tour Guides: Child Referencing
Xem trước -
Populating Tour Guides
Xem trước -
Modelling Reviews: Parent Referencing
Xem trước -
Creating and Getting Reviews
Xem trước -
Populating Reviews
Xem trước -
Virtual Populate: Tours and Reviews
Xem trước -
Implementing Simple Nested Routes
Xem trước -
Nested Routes with Express
Xem trước -
Adding a Nested GET Endpoint
Xem trước -
Building Handler Factory Functions: Delete
Xem trước -
Factory Functions: Update and Create
Xem trước -
Factory Functions: Reading
Xem trước -
Adding a /me Endpoint
Xem trước -
Adding Missing Authentication and Authorization
Xem trước -
Importing Review and User Data
Xem trước -
Improving Read Performance with Indexes
Xem trước -
Calculating Average Rating on Tours - Part 1
Xem trước -
Calculating Average Rating on Tours - Part 2
Xem trước -
Preventing Duplicate Reviews
Xem trước -
Geospatial Queries: Finding Tours Within Radius
Xem trước -
Geospatial Aggregation: Calculating Distances
Xem trước -
Creating API Documentation Using Postman
Xem trước -
Section Intro
Xem trước -
MongoDB Data Modelling
Xem trước -
Designing Our Data Model
Xem trước -
Modelling Locations (Geospatial Data)
Xem trước -
Modelling Tour Guides: Embedding
Xem trước -
Modelling Tour Guides: Child Referencing
Xem trước -
Populating Tour Guides
Xem trước -
Modelling Reviews: Parent Referencing
Xem trước -
Creating and Getting Reviews
Xem trước -
Populating Reviews
Xem trước -
Virtual Populate: Tours and Reviews
Xem trước -
Implementing Simple Nested Routes
Xem trước -
Nested Routes with Express
Xem trước -
Adding a Nested GET Endpoint
Xem trước -
Building Handler Factory Functions: Delete
Xem trước -
Factory Functions: Update and Create
Xem trước -
Factory Functions: Reading
Xem trước -
Adding a /me Endpoint
Xem trước -
Adding Missing Authentication and Authorization
Xem trước -
Importing Review and User Data
Xem trước -
Improving Read Performance with Indexes
Xem trước -
Calculating Average Rating on Tours - Part 1
Xem trước -
Calculating Average Rating on Tours - Part 2
Xem trước -
Preventing Duplicate Reviews
Xem trước -
Geospatial Queries: Finding Tours Within Radius
Xem trước -
Geospatial Aggregation: Calculating Distances
Xem trước -
Creating API Documentation Using Postman
Xem trước -
Section Intro
Xem trước -
MongoDB Data Modelling
Xem trước -
Designing Our Data Model
Xem trước -
Modelling Locations (Geospatial Data)
Xem trước -
Modelling Tour Guides: Embedding
Xem trước -
Modelling Tour Guides: Child Referencing
Xem trước -
Populating Tour Guides
Xem trước -
Modelling Reviews: Parent Referencing
Xem trước -
Creating and Getting Reviews
Xem trước -
Populating Reviews
Xem trước -
Virtual Populate: Tours and Reviews
Xem trước -
Implementing Simple Nested Routes
Xem trước -
Nested Routes with Express
Xem trước -
Adding a Nested GET Endpoint
Xem trước -
Building Handler Factory Functions: Delete
Xem trước -
Factory Functions: Update and Create
Xem trước -
Factory Functions: Reading
Xem trước -
Adding a /me Endpoint
Xem trước -
Adding Missing Authentication and Authorization
Xem trước -
Importing Review and User Data
Xem trước -
Improving Read Performance with Indexes
Xem trước -
Calculating Average Rating on Tours - Part 1
Xem trước -
Calculating Average Rating on Tours - Part 2
Xem trước -
Preventing Duplicate Reviews
Xem trước -
Geospatial Queries: Finding Tours Within Radius
Xem trước -
Geospatial Aggregation: Calculating Distances
Xem trước -
Creating API Documentation Using Postman
Xem trước -
Section Intro
Xem trước -
MongoDB Data Modelling
Xem trước -
Designing Our Data Model
Xem trước -
Modelling Locations (Geospatial Data)
Xem trước -
Modelling Tour Guides: Embedding
Xem trước -
Modelling Tour Guides: Child Referencing
Xem trước -
Populating Tour Guides
Xem trước -
Modelling Reviews: Parent Referencing
Xem trước -
Creating and Getting Reviews
Xem trước -
Populating Reviews
Xem trước -
Virtual Populate: Tours and Reviews
Xem trước -
Implementing Simple Nested Routes
Xem trước -
Nested Routes with Express
Xem trước -
Adding a Nested GET Endpoint
Xem trước -
Building Handler Factory Functions: Delete
Xem trước -
Factory Functions: Update and Create
Xem trước -
Factory Functions: Reading
Xem trước -
Adding a /me Endpoint
Xem trước -
Adding Missing Authentication and Authorization
Xem trước -
Importing Review and User Data
Xem trước -
Improving Read Performance with Indexes
Xem trước -
Calculating Average Rating on Tours - Part 1
Xem trước -
Calculating Average Rating on Tours - Part 2
Xem trước -
Preventing Duplicate Reviews
Xem trước -
Geospatial Queries: Finding Tours Within Radius
Xem trước -
Geospatial Aggregation: Calculating Distances
Xem trước -
Creating API Documentation Using Postman
Xem trước
-
Section Intro
Xem trước -
Recap: Server-Side vs Client-Side Rendering
Xem trước -
Setting up Pug in Express
Xem trước -
First Steps with Pug
Xem trước -
Creating Our Base Template
Xem trước -
Including Files into Pug Templates
Xem trước -
Extending Our Base Template with Blocks
Xem trước -
Setting up the Project Structure
Xem trước -
Building the Tour Overview - Part 1
Xem trước -
Building the Tour Overview - Part 2
Xem trước -
Building the Tour Page - Part 1
Xem trước -
Building the Tour Page - Part 2
Xem trước -
Including a Map with Mapbox - Part 1
Xem trước -
Including a Map with Mapbox - Part 2
Xem trước -
Building the Login Screen
Xem trước -
Logging in Users with Our API - Part 1
Xem trước -
Logging in Users with Our API - Part 2
Xem trước -
Logging in Users with Our API - Part 3
Xem trước -
Logging out Users
Xem trước -
Rendering Error Pages
Xem trước -
Building the User Account Page
Xem trước -
Updating User Data
Xem trước -
Updating User Data with Our API
Xem trước -
Updating User Password with Our API
Xem trước -
Section Intro
Xem trước -
Recap: Server-Side vs Client-Side Rendering
Xem trước -
Setting up Pug in Express
Xem trước -
First Steps with Pug
Xem trước -
Creating Our Base Template
Xem trước -
Including Files into Pug Templates
Xem trước -
Extending Our Base Template with Blocks
Xem trước -
Setting up the Project Structure
Xem trước -
Building the Tour Overview - Part 1
Xem trước -
Building the Tour Overview - Part 2
Xem trước -
Building the Tour Page - Part 1
Xem trước -
Building the Tour Page - Part 2
Xem trước -
Including a Map with Mapbox - Part 1
Xem trước -
Including a Map with Mapbox - Part 2
Xem trước -
Building the Login Screen
Xem trước -
Logging in Users with Our API - Part 1
Xem trước -
Logging in Users with Our API - Part 2
Xem trước -
Logging in Users with Our API - Part 3
Xem trước -
Logging out Users
Xem trước -
Rendering Error Pages
Xem trước -
Building the User Account Page
Xem trước -
Updating User Data
Xem trước -
Updating User Data with Our API
Xem trước -
Updating User Password with Our API
Xem trước -
Section Intro
Xem trước -
Recap: Server-Side vs Client-Side Rendering
Xem trước -
Setting up Pug in Express
Xem trước -
First Steps with Pug
Xem trước -
Creating Our Base Template
Xem trước -
Including Files into Pug Templates
Xem trước -
Extending Our Base Template with Blocks
Xem trước -
Setting up the Project Structure
Xem trước -
Building the Tour Overview - Part 1
Xem trước -
Building the Tour Overview - Part 2
Xem trước -
Building the Tour Page - Part 1
Xem trước -
Building the Tour Page - Part 2
Xem trước -
Including a Map with Mapbox - Part 1
Xem trước -
Including a Map with Mapbox - Part 2
Xem trước -
Building the Login Screen
Xem trước -
Logging in Users with Our API - Part 1
Xem trước -
Logging in Users with Our API - Part 2
Xem trước -
Logging in Users with Our API - Part 3
Xem trước -
Logging out Users
Xem trước -
Rendering Error Pages
Xem trước -
Building the User Account Page
Xem trước -
Updating User Data
Xem trước -
Updating User Data with Our API
Xem trước -
Updating User Password with Our API
Xem trước -
Section Intro
Xem trước -
Recap: Server-Side vs Client-Side Rendering
Xem trước -
Setting up Pug in Express
Xem trước -
First Steps with Pug
Xem trước -
Creating Our Base Template
Xem trước -
Including Files into Pug Templates
Xem trước -
Extending Our Base Template with Blocks
Xem trước -
Setting up the Project Structure
Xem trước -
Building the Tour Overview - Part 1
Xem trước -
Building the Tour Overview - Part 2
Xem trước -
Building the Tour Page - Part 1
Xem trước -
Building the Tour Page - Part 2
Xem trước -
Including a Map with Mapbox - Part 1
Xem trước -
Including a Map with Mapbox - Part 2
Xem trước -
Building the Login Screen
Xem trước -
Logging in Users with Our API - Part 1
Xem trước -
Logging in Users with Our API - Part 2
Xem trước -
Logging in Users with Our API - Part 3
Xem trước -
Logging out Users
Xem trước -
Rendering Error Pages
Xem trước -
Building the User Account Page
Xem trước -
Updating User Data
Xem trước -
Updating User Data with Our API
Xem trước -
Updating User Password with Our API
Xem trước
-
Section Intro
Xem trước -
Image Uploads Using Multer: Users
Xem trước -
Configuring Multer
Xem trước -
Saving Image Name to Database
Xem trước -
Resizing Images
Xem trước -
Adding Image Uploads to Form
Xem trước -
Uploading Multiple Images: Tours
Xem trước -
Processing Multiple Images
Xem trước -
Building a Complex Email Handler
Xem trước -
Email Templates with Pug: Welcome Emails
Xem trước -
Sending Password Reset Emails
Xem trước -
Using Sendgrid for "Real" Emails
Xem trước -
Credit Card Payments with Stripe
Xem trước -
Integrating Stripe into the Back-End
Xem trước -
Processing Payments on the Front-End
Xem trước -
Modelling the Bookings
Xem trước -
Creating New Bookings on Checkout Success
Xem trước -
Rendering a User's Booked Tours
Xem trước -
Finishing the Bookings API
Xem trước -
Final Considerations
Xem trước -
Section Intro
Xem trước -
Image Uploads Using Multer: Users
Xem trước -
Configuring Multer
Xem trước -
Saving Image Name to Database
Xem trước -
Resizing Images
Xem trước -
Adding Image Uploads to Form
Xem trước -
Uploading Multiple Images: Tours
Xem trước -
Processing Multiple Images
Xem trước -
Building a Complex Email Handler
Xem trước -
Email Templates with Pug: Welcome Emails
Xem trước -
Sending Password Reset Emails
Xem trước -
Using Sendgrid for "Real" Emails
Xem trước -
Credit Card Payments with Stripe
Xem trước -
Integrating Stripe into the Back-End
Xem trước -
Processing Payments on the Front-End
Xem trước -
Modelling the Bookings
Xem trước -
Creating New Bookings on Checkout Success
Xem trước -
Rendering a User's Booked Tours
Xem trước -
Finishing the Bookings API
Xem trước -
Final Considerations
Xem trước -
Section Intro
Xem trước -
Image Uploads Using Multer: Users
Xem trước -
Configuring Multer
Xem trước -
Saving Image Name to Database
Xem trước -
Resizing Images
Xem trước -
Adding Image Uploads to Form
Xem trước -
Uploading Multiple Images: Tours
Xem trước -
Processing Multiple Images
Xem trước -
Building a Complex Email Handler
Xem trước -
Email Templates with Pug: Welcome Emails
Xem trước -
Sending Password Reset Emails
Xem trước -
Using Sendgrid for "Real" Emails
Xem trước -
Credit Card Payments with Stripe
Xem trước -
Integrating Stripe into the Back-End
Xem trước -
Processing Payments on the Front-End
Xem trước -
Modelling the Bookings
Xem trước -
Creating New Bookings on Checkout Success
Xem trước -
Rendering a User's Booked Tours
Xem trước -
Finishing the Bookings API
Xem trước -
Final Considerations
Xem trước -
Section Intro
Xem trước -
Image Uploads Using Multer: Users
Xem trước -
Configuring Multer
Xem trước -
Saving Image Name to Database
Xem trước -
Resizing Images
Xem trước -
Adding Image Uploads to Form
Xem trước -
Uploading Multiple Images: Tours
Xem trước -
Processing Multiple Images
Xem trước -
Building a Complex Email Handler
Xem trước -
Email Templates with Pug: Welcome Emails
Xem trước -
Sending Password Reset Emails
Xem trước -
Using Sendgrid for "Real" Emails
Xem trước -
Credit Card Payments with Stripe
Xem trước -
Integrating Stripe into the Back-End
Xem trước -
Processing Payments on the Front-End
Xem trước -
Modelling the Bookings
Xem trước -
Creating New Bookings on Checkout Success
Xem trước -
Rendering a User's Booked Tours
Xem trước -
Finishing the Bookings API
Xem trước -
Final Considerations
Xem trước
-
Section Intro
Xem trước -
Setting Up Git and GitHub
Xem trước -
Git Fundamentals
Xem trước -
Pushing to GitHub
Xem trước -
Preparing Our App for Deployment
Xem trước -
Deploying Our App to Heroku
Xem trước -
Testing for Secure HTTPS Connections
Xem trước -
Responding to a SIGTERM Signal
Xem trước -
Implementing CORS
Xem trước -
Finishing Payments with Stripe Webhooks
Xem trước -
Section Intro
Xem trước -
Setting Up Git and GitHub
Xem trước -
Git Fundamentals
Xem trước -
Pushing to GitHub
Xem trước -
Preparing Our App for Deployment
Xem trước -
Deploying Our App to Heroku
Xem trước -
Testing for Secure HTTPS Connections
Xem trước -
Responding to a SIGTERM Signal
Xem trước -
Implementing CORS
Xem trước -
Finishing Payments with Stripe Webhooks
Xem trước -
Section Intro
Xem trước -
Setting Up Git and GitHub
Xem trước -
Git Fundamentals
Xem trước -
Pushing to GitHub
Xem trước -
Preparing Our App for Deployment
Xem trước -
Deploying Our App to Heroku
Xem trước -
Testing for Secure HTTPS Connections
Xem trước -
Responding to a SIGTERM Signal
Xem trước -
Implementing CORS
Xem trước -
Finishing Payments with Stripe Webhooks
Xem trước -
Section Intro
Xem trước -
Setting Up Git and GitHub
Xem trước -
Git Fundamentals
Xem trước -
Pushing to GitHub
Xem trước -
Preparing Our App for Deployment
Xem trước -
Deploying Our App to Heroku
Xem trước -
Testing for Secure HTTPS Connections
Xem trước -
Responding to a SIGTERM Signal
Xem trước -
Implementing CORS
Xem trước -
Finishing Payments with Stripe Webhooks
Xem trước
Requirment
Outcomes
Instructor
Nguyễn Đình Cường
1.2
-
1 Student
-
330 Courses
-
1253 reviews
Xin chào các bạn, tôi là Nguyễn Đình Cường, một lập trình viên và giảng viên đam mê công nghệ với hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Tôi tốt nghiệp từ Bưu Chính Viễn Thông và đã từng làm việc cho một số công ty công nghệ hàng đầu như FPT Software và VinGroup. Với chuyên môn chính là phát triển ứng dụng web, tôi đã làm việc với nhiều công nghệ như HTML, CSS, JavaScript, React cho front-end và Node.js, Express, MongoDB cho back-end. Không chỉ dừng lại ở việc viết mã, tôi còn yêu thích tìm hiểu sâu về thiết kế hệ thống và kiến trúc phần mềm. Tôi tin rằng quá trình học lập trình không chỉ đơn thuần là lý thuyết, mà còn là sự trải nghiệm thực tế và giải quyết vấn đề. Trong các khóa học của mình, tôi cố gắng cung cấp cho học viên những bài giảng thú vị và dễ hiểu, cùng với các bài tập thực hành giúp củng cố kiến thức. Tôi hy vọng rằng qua các khóa học của mình, bạn sẽ không chỉ học được cách viết mã, mà còn phát triển tư duy lập trình và kỹ năng giải quyết vấn đề. Hãy cùng nhau khám phá thế giới lập trình và biến ý tưởng của bạn thành hiện thực! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với tôi. Tôi rất vui được hỗ trợ bạn trong hành trình học tập của mình!
View Details