Course Overview
Join the most comprehensive Node.js course on Udemy and learn Node in both a practical and a theory-based way!
-
Node.js is probably THE most popular and modern server-side programming language you can learn these days!
Node.js developers are in high demand and the language is used for everything from traditional web apps with server-side rendered views over REST APIs all the way up to GraphQL APIs and real-time web services. Not to mention its applications in build workflows for projects of all sizes.
This course will teach you all of that! From scratch with zero prior knowledge assumed. Though if you do bring some knowledge, you'll of course be able to quickly jump into the course modules that are most interesting to you.
Here's what you'll learn in this course:
Node.js Basics & Basic Core Modules
Parsing Requests & Sending Responses
Rendering HTML Dynamically (on the Server)
Using Express.js
Working with Files and generating PDFs on the Server (on-the-fly)
File Up- and Download
Using the Model-View-Controller (MVC) Pattern
Using Node.js with SQL (MySQL) and Sequelize
Using Node.js with NoSQL (MongoDB) and Mongoose
Working with Sessions & Cookies
User Authentication and Authorization
Sending E-Mails
Validating User Input
Data Pagination
Handling Payments with Stripe.js
Building REST APIs
Authentication in REST APIs
File Upload in REST APIs
Building GraphQL APIs
Authentication in GraphQL APIs
File Upload in GraphQL APIs
Building a Realtime Node.js App with Websockets
Automated Testing (Unit Tests)
Deploying a Node.js Application
Using TypeScript with Node.js
Exploring Deno.js
And Way More!
Does this look like a lot of content? It certainly is!
This is not a short course but it is the "Complete Guide" on Node.js after all. We'll dive into a lot of topics and we'll not just scratch the surface.
We'll also not just walk through boring theory and some slides. Instead, we'll build two major projects: An online shop (including checkout + payments) and a blog.
All topics and features of the course will be shown and used in these projects and you'll therefore learn about them in a realistic environment.
Is this course for you?
If you got no Node.js experience, you'll love this course because it starts with zero knowledge assumed. It's the perfect course to become a Node.js developer.
If you got basic Node.js experience, this course is also a perfect match because you can go through the basic modules quickly and you'll benefit from all the deep dives and advanced topics the course covers.
Are you an advanced Node.js user? Check the curriculum then. Maybe you found no other course that shows how to use SQL with Node.js. Or you're interested in GraphQL. Chances are, that you'll get a lot of value out of this course, too!
Prerequisites
NO Node.js knowledge is required at all!
NO other programming language knowledge (besides JavaScript, see next point) is required
Basic JavaScript knowledge is assumed though - you should at least be willing to pick it up whilst going through the course. A JS refresher module exists to bring you up to the latest syntax quickly
Basic HTML + CSS knowledge helps but is NOT required
FAQ
FAQ area empty
Course curriculum
-
What is Node.js?
Xem trước -
Join our Online Learning Community
Xem trước -
Installing Node.js and Creating our First App
Xem trước -
Understanding the Role & Usage of Node.js
Xem trước -
Course Outline
Xem trước -
How To Get The Most Out Of The Course
Xem trước -
Course Setup
-
Working with the REPL vs Using Files
-
Using the Attached Source Code
-
Introduction
Xem trước -
What is Node.js?
Xem trước -
Join our Online Learning Community
-
Installing Node.js and Creating our First App
Xem trước -
Understanding the Role & Usage of Node.js
Xem trước -
Course Outline
Xem trước -
How To Get The Most Out Of The Course
Xem trước -
Course Setup
-
Working with the REPL vs Using Files
Xem trước -
Using the Attached Source Code
-
Introduction
Xem trước -
What is Node.js?
Xem trước -
Installing Node.js and Creating our First App
Xem trước -
Understanding the Role & Usage of Node.js
Xem trước -
Course Outline
Xem trước -
How To Get The Most Out Of The Course
Xem trước -
Working with the REPL vs Using Files
Xem trước -
Introduction
Xem trước -
What is Node.js?
Xem trước -
Installing Node.js and Creating our First App
Xem trước -
Understanding the Role & Usage of Node.js
Xem trước -
Course Outline
Xem trước -
How To Get The Most Out Of The Course
Xem trước -
Working with the REPL vs Using Files
Xem trước -
Introduction
Xem trước -
What is Node.js?
Xem trước -
Join our Online Learning Community
Xem trước -
Installing Node.js and Creating our First App
Xem trước -
Understanding the Role & Usage of Node.js
Xem trước -
Course Outline
Xem trước -
How To Get The Most Out Of The Course
Xem trước -
Working with the REPL vs Using Files
Xem trước -
Using the Attached Source Code
-
Module Introduction
Xem trước -
JavaScript in a Nutshell
Xem trước -
Refreshing the Core Syntax
Xem trước -
Let & const
Xem trước -
Understanding Arrow Functions
Xem trước -
Working with Objects, Properties & Methods
Xem trước -
Arrays & Array Methods
Xem trước -
Arrays, Objects & Reference Types
Xem trước -
Understanding Spread & Rest Operators
Xem trước -
Destructuring
Xem trước -
Async Code & Promises
Xem trước -
Template Literals
-
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
JavaScript in a Nutshell
Xem trước -
Refreshing the Core Syntax
Xem trước -
Let & const
Xem trước -
Understanding Arrow Functions
Xem trước -
Working with Objects, Properties & Methods
Xem trước -
Arrays & Array Methods
Xem trước -
Arrays, Objects & Reference Types
Xem trước -
Understanding Spread & Rest Operators
Xem trước -
Destructuring
Xem trước -
Async Code & Promises
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
JavaScript in a Nutshell
Xem trước -
Refreshing the Core Syntax
Xem trước -
Let & const
Xem trước -
Understanding Arrow Functions
Xem trước -
Working with Objects, Properties & Methods
Xem trước -
Arrays & Array Methods
Xem trước -
Arrays, Objects & Reference Types
Xem trước -
Understanding Spread & Rest Operators
Xem trước -
Destructuring
Xem trước -
Async Code & Promises
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
JavaScript in a Nutshell
Xem trước -
Refreshing the Core Syntax
Xem trước -
Let & const
Xem trước -
Understanding Arrow Functions
Xem trước -
Working with Objects, Properties & Methods
Xem trước -
Arrays & Array Methods
Xem trước -
Arrays, Objects & Reference Types
Xem trước -
Understanding Spread & Rest Operators
Xem trước -
Destructuring
Xem trước -
Async Code & Promises
Xem trước -
Template Literals
-
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
How The Web Works
Xem trước -
Creating a Node Server
Xem trước -
The Node Lifecycle & Event Loop
Xem trước -
Controlling the Node.js Process
-
Understanding Requests
Xem trước -
Sending Responses
Xem trước -
Request & Response Headers
-
Routing Requests
Xem trước -
Redirecting Requests
Xem trước -
Parsing Request Bodies
Xem trước -
Understanding Event Driven Code Execution
Xem trước -
Blocking and Non-Blocking Code
Xem trước -
Node.js - Looking Behind the Scenes
Xem trước -
Using the Node Modules System
Xem trước -
Wrap Up
Xem trước -
Time to Practice - The Basics
692 Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
How The Web Works
Xem trước -
Creating a Node Server
Xem trước -
The Node Lifecycle & Event Loop
Xem trước -
Understanding Requests
Xem trước -
Sending Responses
Xem trước -
Routing Requests
Xem trước -
Redirecting Requests
Xem trước -
Parsing Request Bodies
Xem trước -
Understanding Event Driven Code Execution
Xem trước -
Blocking and Non-Blocking Code
Xem trước -
Node.js - Looking Behind the Scenes
Xem trước -
Using the Node Modules System
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
How The Web Works
Xem trước -
Creating a Node Server
Xem trước -
The Node Lifecycle & Event Loop
Xem trước -
Understanding Requests
Xem trước -
Sending Responses
Xem trước -
Routing Requests
Xem trước -
Redirecting Requests
Xem trước -
Parsing Request Bodies
Xem trước -
Understanding Event Driven Code Execution
Xem trước -
Blocking and Non-Blocking Code
Xem trước -
Node.js - Looking Behind the Scenes
Xem trước -
Using the Node Modules System
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
How The Web Works
Xem trước -
Creating a Node Server
Xem trước -
The Node Lifecycle & Event Loop
Xem trước -
Controlling the Node.js Process
-
Understanding Requests
Xem trước -
Sending Responses
Xem trước -
Request & Response Headers
-
Routing Requests
Xem trước -
Redirecting Requests
Xem trước -
Parsing Request Bodies
Xem trước -
Understanding Event Driven Code Execution
Xem trước -
Blocking and Non-Blocking Code
Xem trước -
Node.js - Looking Behind the Scenes
Xem trước -
Using the Node Modules System
Xem trước -
Wrap Up
Xem trước -
Time to Practice - The Basics
692 Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Understanding NPM Scripts
Xem trước -
Installing 3rd Party Packages
Xem trước -
Global Features vs Core Modules vs Third-Party Modules
-
Using Nodemon for Autorestarts
Xem trước -
Global & Local npm Packages
-
Understanding different Error Types
Xem trước -
Finding & Fixing Syntax Errors
Xem trước -
Dealing with Runtime Errors
Xem trước -
Logical Errors
Xem trước -
Using the Debugger
Xem trước -
Restarting the Debugger Automatically After Editing our App
Xem trước -
Debugging Node.js in Visual Studio Code
-
Changing Variables in the Debug Console
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Understanding NPM Scripts
Xem trước -
Installing 3rd Party Packages
Xem trước -
Using Nodemon for Autorestarts
Xem trước -
Understanding different Error Types
Xem trước -
Finding & Fixing Syntax Errors
Xem trước -
Dealing with Runtime Errors
Xem trước -
Logical Errors
Xem trước -
Using the Debugger
Xem trước -
Restarting the Debugger Automatically After Editing our App
Xem trước -
Changing Variables in the Debug Console
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Understanding NPM Scripts
Xem trước -
Installing 3rd Party Packages
Xem trước -
Using Nodemon for Autorestarts
Xem trước -
Understanding different Error Types
Xem trước -
Finding & Fixing Syntax Errors
Xem trước -
Dealing with Runtime Errors
Xem trước -
Logical Errors
Xem trước -
Using the Debugger
Xem trước -
Restarting the Debugger Automatically After Editing our App
Xem trước -
Changing Variables in the Debug Console
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Understanding NPM Scripts
Xem trước -
Installing 3rd Party Packages
Xem trước -
Global Features vs Core Modules vs Third-Party Modules
-
Using Nodemon for Autorestarts
Xem trước -
Global & Local npm Packages
-
Understanding different Error Types
Xem trước -
Finding & Fixing Syntax Errors
Xem trước -
Dealing with Runtime Errors
Xem trước -
Logical Errors
Xem trước -
Using the Debugger
Xem trước -
Restarting the Debugger Automatically After Editing our App
Xem trước -
Debugging Node.js in Visual Studio Code
-
Changing Variables in the Debug Console
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is Express.js?
Xem trước -
Installing Express.js
Xem trước -
Adding Middleware
Xem trước -
How Middleware Works
Xem trước -
Express.js - Looking Behind the Scenes
Xem trước -
Handling Different Routes
Xem trước -
Time to Practice - Express.js
381 Xem trước -
Parsing Incoming Requests
Xem trước -
Limiting Middleware Execution to POST Requests
Xem trước -
Using Express Router
Xem trước -
Adding a 404 Error Page
Xem trước -
Filtering Paths
Xem trước -
Creating HTML Pages
Xem trước -
Serving HTML Pages
Xem trước -
Returning a 404 Page
Xem trước -
A Hint!
-
Using a Helper Function for Navigation
Xem trước -
Styling our Pages
Xem trước -
Serving Files Statically
Xem trước -
Time to Practice - Navigation
512 Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is Express.js?
Xem trước -
Installing Express.js
Xem trước -
Adding Middleware
Xem trước -
How Middleware Works
Xem trước -
Express.js - Looking Behind the Scenes
Xem trước -
Handling Different Routes
Xem trước -
Parsing Incoming Requests
Xem trước -
Limiting Middleware Execution to POST Requests
Xem trước -
Using Express Router
Xem trước -
Adding a 404 Error Page
Xem trước -
Filtering Paths
Xem trước -
Creating HTML Pages
Xem trước -
Serving HTML Pages
Xem trước -
Returning a 404 Page
Xem trước -
Using a Helper Function for Navigation
Xem trước -
Styling our Pages
Xem trước -
Serving Files Statically
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is Express.js?
Xem trước -
Installing Express.js
Xem trước -
Adding Middleware
Xem trước -
How Middleware Works
Xem trước -
Express.js - Looking Behind the Scenes
Xem trước -
Handling Different Routes
Xem trước -
Parsing Incoming Requests
Xem trước -
Limiting Middleware Execution to POST Requests
Xem trước -
Using Express Router
Xem trước -
Adding a 404 Error Page
Xem trước -
Filtering Paths
Xem trước -
Creating HTML Pages
Xem trước -
Serving HTML Pages
Xem trước -
Returning a 404 Page
Xem trước -
Using a Helper Function for Navigation
Xem trước -
Styling our Pages
Xem trước -
Serving Files Statically
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is Express.js?
Xem trước -
Installing Express.js
Xem trước -
Adding Middleware
Xem trước -
How Middleware Works
Xem trước -
Express.js - Looking Behind the Scenes
Xem trước -
Handling Different Routes
Xem trước -
Time to Practice - Express.js
381 Xem trước -
Parsing Incoming Requests
Xem trước -
Limiting Middleware Execution to POST Requests
Xem trước -
Using Express Router
Xem trước -
Adding a 404 Error Page
Xem trước -
Filtering Paths
Xem trước -
Creating HTML Pages
Xem trước -
Serving HTML Pages
Xem trước -
Returning a 404 Page
Xem trước -
A Hint!
-
Using a Helper Function for Navigation
Xem trước -
Styling our Pages
Xem trước -
Serving Files Statically
Xem trước -
Time to Practice - Navigation
512 Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Sharing Data Across Requests & Users
Xem trước -
Templating Engines - An Overview
Xem trước -
Installing & Implementing Pug
Xem trước -
Outputting Dynamic Content
Xem trước -
Official Pug Docs
-
Converting HTML Files to Pug
Xem trước -
Adding a Layout
Xem trước -
Finishing the Pug Template
Xem trước -
Avoiding an Error
-
Working with Handlebars
Xem trước -
Converting our Project to Handlebars
Xem trước -
Adding the Layout to Handlebars
Xem trước -
Working with EJS
Xem trước -
Working on the Layout with Partials
Xem trước -
Wrap Up
Xem trước -
Time to Practice - Templating Engines
1502 Xem trước -
[OPTIONAL] Assignment Solution
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Sharing Data Across Requests & Users
Xem trước -
Templating Engines - An Overview
Xem trước -
Installing & Implementing Pug
Xem trước -
Outputting Dynamic Content
Xem trước -
Converting HTML Files to Pug
Xem trước -
Adding a Layout
Xem trước -
Finishing the Pug Template
Xem trước -
Working with Handlebars
Xem trước -
Converting our Project to Handlebars
Xem trước -
Adding the Layout to Handlebars
Xem trước -
Working with EJS
Xem trước -
Working on the Layout with Partials
Xem trước -
Wrap Up
Xem trước -
[OPTIONAL] Assignment Solution
Xem trước -
Module Introduction
Xem trước -
Sharing Data Across Requests & Users
Xem trước -
Templating Engines - An Overview
Xem trước -
Installing & Implementing Pug
Xem trước -
Outputting Dynamic Content
Xem trước -
Converting HTML Files to Pug
Xem trước -
Adding a Layout
Xem trước -
Finishing the Pug Template
Xem trước -
Working with Handlebars
Xem trước -
Converting our Project to Handlebars
Xem trước -
Adding the Layout to Handlebars
Xem trước -
Working with EJS
Xem trước -
Working on the Layout with Partials
Xem trước -
Wrap Up
Xem trước -
[OPTIONAL] Assignment Solution
Xem trước -
Module Introduction
Xem trước -
Sharing Data Across Requests & Users
Xem trước -
Templating Engines - An Overview
Xem trước -
Installing & Implementing Pug
Xem trước -
Outputting Dynamic Content
Xem trước -
Official Pug Docs
-
Converting HTML Files to Pug
Xem trước -
Adding a Layout
Xem trước -
Finishing the Pug Template
Xem trước -
Avoiding an Error
-
Working with Handlebars
Xem trước -
Converting our Project to Handlebars
Xem trước -
Adding the Layout to Handlebars
Xem trước -
Working with EJS
Xem trước -
Working on the Layout with Partials
Xem trước -
Wrap Up
Xem trước -
Time to Practice - Templating Engines
1502 Xem trước -
[OPTIONAL] Assignment Solution
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is the MVC?
Xem trước -
Adding Controllers
Xem trước -
Finishing the Controllers
Xem trước -
Adding a Product Model
Xem trước -
Storing Data in Files Via the Model
Xem trước -
Fetching Data from Files Via the Model
Xem trước -
Refactoring the File Storage Code
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is the MVC?
Xem trước -
Adding Controllers
Xem trước -
Finishing the Controllers
Xem trước -
Adding a Product Model
Xem trước -
Storing Data in Files Via the Model
Xem trước -
Fetching Data from Files Via the Model
Xem trước -
Refactoring the File Storage Code
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is the MVC?
Xem trước -
Adding Controllers
Xem trước -
Finishing the Controllers
Xem trước -
Adding a Product Model
Xem trước -
Storing Data in Files Via the Model
Xem trước -
Fetching Data from Files Via the Model
Xem trước -
Refactoring the File Storage Code
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is the MVC?
Xem trước -
Adding Controllers
Xem trước -
Finishing the Controllers
Xem trước -
Adding a Product Model
Xem trước -
Storing Data in Files Via the Model
Xem trước -
Fetching Data from Files Via the Model
Xem trước -
Refactoring the File Storage Code
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Creating the Shop Structure
Xem trước -
Working on the Navigation
Xem trước -
Registering the Routes
Xem trước -
Storing Product Data
Xem trước -
Displaying Product Data
Xem trước -
Editing & Deleting Products
Xem trước -
Adding Another Item
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Creating the Shop Structure
Xem trước -
Working on the Navigation
Xem trước -
Registering the Routes
Xem trước -
Storing Product Data
Xem trước -
Displaying Product Data
Xem trước -
Editing & Deleting Products
Xem trước -
Adding Another Item
Xem trước -
Module Introduction
Xem trước -
Creating the Shop Structure
Xem trước -
Working on the Navigation
Xem trước -
Registering the Routes
Xem trước -
Storing Product Data
Xem trước -
Displaying Product Data
Xem trước -
Editing & Deleting Products
Xem trước -
Adding Another Item
Xem trước -
Module Introduction
Xem trước -
Creating the Shop Structure
Xem trước -
Working on the Navigation
Xem trước -
Registering the Routes
Xem trước -
Storing Product Data
Xem trước -
Displaying Product Data
Xem trước -
Editing & Deleting Products
Xem trước -
Adding Another Item
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Preparations
Xem trước -
Applied Changes
-
Adding the Product ID to the Path
Xem trước -
Extracting Dynamic Params
Xem trước -
Loading Product Detail Data
Xem trước -
Rendering the Product Detail View
Xem trước -
Passing Data with POST Requests
Xem trước -
Adding a Cart Model
Xem trước -
Using Query Params
Xem trước -
Pre-Populating the Edit Product Page with Data
Xem trước -
Linking to the Edit Page
Xem trước -
Editing the Product Data
Xem trước -
Adding the Product-Delete Functionality
Xem trước -
Displaying Cart Items on the Cart Page
Xem trước -
Deleting Cart Items
Xem trước -
Fixing a Delete Product Bug
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Preparations
Xem trước -
Adding the Product ID to the Path
Xem trước -
Extracting Dynamic Params
Xem trước -
Loading Product Detail Data
Xem trước -
Rendering the Product Detail View
Xem trước -
Passing Data with POST Requests
Xem trước -
Adding a Cart Model
Xem trước -
Using Query Params
Xem trước -
Pre-Populating the Edit Product Page with Data
Xem trước -
Linking to the Edit Page
Xem trước -
Editing the Product Data
Xem trước -
Adding the Product-Delete Functionality
Xem trước -
Deleting Cart Items
Xem trước -
Displaying Cart Items on the Cart Page
Xem trước -
Fixing a Delete Product Bug
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Preparations
Xem trước -
Adding the Product ID to the Path
Xem trước -
Extracting Dynamic Params
Xem trước -
Loading Product Detail Data
Xem trước -
Rendering the Product Detail View
Xem trước -
Passing Data with POST Requests
Xem trước -
Adding a Cart Model
Xem trước -
Using Query Params
Xem trước -
Pre-Populating the Edit Product Page with Data
Xem trước -
Linking to the Edit Page
Xem trước -
Editing the Product Data
Xem trước -
Adding the Product-Delete Functionality
Xem trước -
Deleting Cart Items
Xem trước -
Displaying Cart Items on the Cart Page
Xem trước -
Fixing a Delete Product Bug
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Preparations
Xem trước -
Applied Changes
-
Adding the Product ID to the Path
Xem trước -
Extracting Dynamic Params
Xem trước -
Loading Product Detail Data
Xem trước -
Rendering the Product Detail View
Xem trước -
Passing Data with POST Requests
Xem trước -
Adding a Cart Model
Xem trước -
Using Query Params
Xem trước -
Pre-Populating the Edit Product Page with Data
Xem trước -
Linking to the Edit Page
Xem trước -
Editing the Product Data
Xem trước -
Adding the Product-Delete Functionality
Xem trước -
Deleting Cart Items
Xem trước -
Displaying Cart Items on the Cart Page
Xem trước -
Fixing a Delete Product Bug
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Choosing a Database
Xem trước -
NoSQL Introduction
Xem trước -
Comparing SQL and NoSQL
Xem trước -
Setting Up MySQL
Xem trước -
Connecting our App to the SQL Database
Xem trước -
Basic SQL & Creating a Table
Xem trước -
Retrieving Data
Xem trước -
Fetching Products
Xem trước -
Fetching Products - Time to Practice
Xem trước -
Inserting Data Into the Database
Xem trước -
Fetching a Single Product with the "where" Condition
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Choosing a Database
Xem trước -
NoSQL Introduction
Xem trước -
Comparing SQL and NoSQL
Xem trước -
Setting Up MySQL
Xem trước -
Connecting our App to the SQL Database
Xem trước -
Basic SQL & Creating a Table
Xem trước -
Retrieving Data
Xem trước -
Fetching Products
Xem trước -
Fetching Products - Time to Practice
Xem trước -
Inserting Data Into the Database
Xem trước -
Fetching a Single Product with the "where" Condition
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Choosing a Database
Xem trước -
NoSQL Introduction
Xem trước -
Comparing SQL and NoSQL
Xem trước -
Setting Up MySQL
Xem trước -
Connecting our App to the SQL Database
Xem trước -
Basic SQL & Creating a Table
Xem trước -
Retrieving Data
Xem trước -
Fetching Products
Xem trước -
Fetching Products - Time to Practice
Xem trước -
Inserting Data Into the Database
Xem trước -
Fetching a Single Product with the "where" Condition
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Choosing a Database
Xem trước -
NoSQL Introduction
Xem trước -
Comparing SQL and NoSQL
Xem trước -
Setting Up MySQL
Xem trước -
Connecting our App to the SQL Database
Xem trước -
Basic SQL & Creating a Table
Xem trước -
Retrieving Data
Xem trước -
Fetching Products
Xem trước -
Fetching Products - Time to Practice
Xem trước -
Inserting Data Into the Database
Xem trước -
Fetching a Single Product with the "where" Condition
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is Sequelize?
Xem trước -
Connecting to the Database
Xem trước -
Defining a Model
Xem trước -
Syncing JS Definitions to the Database
Xem trước -
Inserting Data & Creating a Product
Xem trước -
MUST READ: findById() in Sequelize 5
-
Retrieving Data & Finding Products
Xem trước -
Getting a Single Product with the "where" Condition
Xem trước -
Fetching Admin Products
Xem trước -
Updating Products
Xem trước -
Deleting Products
Xem trước -
Creating a User Model
Xem trước -
Adding a One-To-Many Relationship
Xem trước -
Creating & Managing a Dummy User
Xem trước -
Using Magic Association Methods
Xem trước -
Fetching Related Products
Xem trước -
One-To-Many & Many-To-Many Relations
Xem trước -
Creating & Fetching a Cart
Xem trước -
Adding New Products to the Cart
Xem trước -
Adding Existing Products & Retrieving Cart Items
Xem trước -
Deleting Related Items & Deleting Cart Products
Xem trước -
Adding an Order Model
Xem trước -
Storing Cartitems as Orderitems
Xem trước -
Resetting the Cart & Fetching and Outputting Orders
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is Sequelize?
Xem trước -
Connecting to the Database
Xem trước -
Defining a Model
Xem trước -
Syncing JS Definitions to the Database
Xem trước -
Inserting Data & Creating a Product
Xem trước -
Retrieving Data & Finding Products
Xem trước -
Getting a Single Product with the "where" Condition
Xem trước -
Fetching Admin Products
Xem trước -
Updating Products
Xem trước -
Deleting Products
Xem trước -
Creating a User Model
Xem trước -
Adding a One-To-Many Relationship
Xem trước -
Creating & Managing a Dummy User
Xem trước -
Using Magic Association Methods
Xem trước -
Fetching Related Products
Xem trước -
One-To-Many & Many-To-Many Relations
Xem trước -
Creating & Fetching a Cart
Xem trước -
Adding New Products to the Cart
Xem trước -
Adding Existing Products & Retrieving Cart Items
Xem trước -
Deleting Related Items & Deleting Cart Products
Xem trước -
Adding an Order Model
Xem trước -
Storing Cartitems as Orderitems
Xem trước -
Resetting the Cart & Fetching and Outputting Orders
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is Sequelize?
Xem trước -
Connecting to the Database
Xem trước -
Defining a Model
Xem trước -
Syncing JS Definitions to the Database
Xem trước -
Inserting Data & Creating a Product
Xem trước -
Retrieving Data & Finding Products
Xem trước -
Getting a Single Product with the "where" Condition
Xem trước -
Fetching Admin Products
Xem trước -
Updating Products
Xem trước -
Deleting Products
Xem trước -
Creating a User Model
-
Adding a One-To-Many Relationship
Xem trước -
Creating & Managing a Dummy User
Xem trước -
Using Magic Association Methods
Xem trước -
Fetching Related Products
Xem trước -
One-To-Many & Many-To-Many Relations
Xem trước -
Creating & Fetching a Cart
Xem trước -
Adding New Products to the Cart
Xem trước -
Adding Existing Products & Retrieving Cart Items
Xem trước -
Deleting Related Items & Deleting Cart Products
Xem trước -
Adding an Order Model
Xem trước -
Storing Cartitems as Orderitems
Xem trước -
Resetting the Cart & Fetching and Outputting Orders
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is Sequelize?
Xem trước -
Connecting to the Database
Xem trước -
Defining a Model
Xem trước -
Syncing JS Definitions to the Database
Xem trước -
Inserting Data & Creating a Product
Xem trước -
MUST READ: findById() in Sequelize 5
-
Retrieving Data & Finding Products
Xem trước -
Getting a Single Product with the "where" Condition
Xem trước -
Fetching Admin Products
Xem trước -
Updating Products
Xem trước -
Deleting Products
Xem trước -
Creating a User Model
Xem trước -
Adding a One-To-Many Relationship
Xem trước -
Creating & Managing a Dummy User
Xem trước -
Using Magic Association Methods
Xem trước -
Fetching Related Products
Xem trước -
One-To-Many & Many-To-Many Relations
Xem trước -
Creating & Fetching a Cart
Xem trước -
Adding New Products to the Cart
Xem trước -
Adding Existing Products & Retrieving Cart Items
Xem trước -
Deleting Related Items & Deleting Cart Products
Xem trước -
Adding an Order Model
Xem trước -
Storing Cartitems as Orderitems
Xem trước -
Resetting the Cart & Fetching and Outputting Orders
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is MongoDB?
Xem trước -
Relations in NoSQL
Xem trước -
Setting Up MongoDB
Xem trước -
Installing the MongoDB Driver
Xem trước -
Creating the Database Connection
Xem trước -
Finishing the Database Connection
Xem trước -
Using the Database Connection
Xem trước -
Creating Products
Xem trước -
Understanding the MongoDB Compass
Xem trước -
Fetching All Products
Xem trước -
Fetching a Single Product
Xem trước -
Making the "Edit" & "Delete" Buttons Work Again
Xem trước -
Working on the Product Model to Edit our Product
Xem trước -
Finishing the "Update Product" Code
Xem trước -
One Note About Updating Products
Xem trước -
Deleting Products
Xem trước -
Fixing the "Add Product" Functionality
Xem trước -
Creating New Users
Xem trước -
Storing the User in our Database
Xem trước -
Working on Cart Items & Orders
Xem trước -
Adding the "Add to Cart" Functionality
Xem trước -
Storing Multiple Products in the Cart
Xem trước -
Displaying the Cart Items
Xem trước -
Fixing a Bug
Xem trước -
Deleting Cart Items
Xem trước -
Adding an Order
Xem trước -
Adding Relational Order Data
Xem trước -
Getting Orders
Xem trước -
Removing Deleted Items From the Cart
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Two Adjustments (behind the scenes)
-
Module Introduction
Xem trước -
What is MongoDB?
Xem trước -
Relations in NoSQL
Xem trước -
Setting Up MongoDB
Xem trước -
Installing the MongoDB Driver
Xem trước -
Creating the Database Connection
Xem trước -
Finishing the Database Connection
Xem trước -
Using the Database Connection
Xem trước -
Creating Products
Xem trước -
Understanding the MongoDB Compass
Xem trước -
Fetching All Products
Xem trước -
Fetching a Single Product
Xem trước -
Making the "Edit" & "Delete" Buttons Work Again
Xem trước -
Working on the Product Model to Edit our Product
Xem trước -
Finishing the "Update Product" Code
Xem trước -
One Note About Updating Products
Xem trước -
Deleting Products
Xem trước -
Fixing the "Add Product" Functionality
Xem trước -
Creating New Users
Xem trước -
Storing the User in our Database
Xem trước -
Working on Cart Items & Orders
Xem trước -
Adding the "Add to Cart" Functionality
Xem trước -
Storing Multiple Products in the Cart
Xem trước -
Displaying the Cart Items
Xem trước -
Fixing a Bug
Xem trước -
Deleting Cart Items
Xem trước -
Adding an Order
Xem trước -
Adding Relational Order Data
Xem trước -
Getting Orders
Xem trước -
Removing Deleted Items From the Cart
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is MongoDB?
Xem trước -
Relations in NoSQL
Xem trước -
Setting Up MongoDB
Xem trước -
Installing the MongoDB Driver
Xem trước -
Creating the Database Connection
Xem trước -
Finishing the Database Connection
Xem trước -
Using the Database Connection
Xem trước -
Creating Products
Xem trước -
Understanding the MongoDB Compass
Xem trước -
Fetching All Products
Xem trước -
Fetching a Single Product
Xem trước -
Making the "Edit" & "Delete" Buttons Work Again
Xem trước -
Working on the Product Model to Edit our Product
Xem trước -
Finishing the "Update Product" Code
Xem trước -
One Note About Updating Products
Xem trước -
Deleting Products
Xem trước -
Fixing the "Add Product" Functionality
Xem trước -
Creating New Users
Xem trước -
Storing the User in our Database
Xem trước -
Working on Cart Items & Orders
Xem trước -
Adding the "Add to Cart" Functionality
Xem trước -
Storing Multiple Products in the Cart
Xem trước -
Displaying the Cart Items
Xem trước -
Fixing a Bug
Xem trước -
Deleting Cart Items
Xem trước -
Adding an Order
Xem trước -
Adding Relational Order Data
Xem trước -
Getting Orders
Xem trước -
Removing Deleted Items From the Cart
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is MongoDB?
Xem trước -
Relations in NoSQL
Xem trước -
Setting Up MongoDB
Xem trước -
Installing the MongoDB Driver
Xem trước -
Creating the Database Connection
Xem trước -
Finishing the Database Connection
Xem trước -
Using the Database Connection
Xem trước -
Creating Products
Xem trước -
Understanding the MongoDB Compass
Xem trước -
Fetching All Products
Xem trước -
Fetching a Single Product
Xem trước -
Making the "Edit" & "Delete" Buttons Work Again
Xem trước -
Working on the Product Model to Edit our Product
Xem trước -
Finishing the "Update Product" Code
Xem trước -
One Note About Updating Products
Xem trước -
Deleting Products
Xem trước -
Fixing the "Add Product" Functionality
Xem trước -
Creating New Users
Xem trước -
Storing the User in our Database
Xem trước -
Working on Cart Items & Orders
Xem trước -
Adding the "Add to Cart" Functionality
Xem trước -
Storing Multiple Products in the Cart
Xem trước -
Displaying the Cart Items
Xem trước -
Fixing a Bug
Xem trước -
Deleting Cart Items
Xem trước -
Adding an Order
Xem trước -
Adding Relational Order Data
Xem trước -
Getting Orders
Xem trước -
Removing Deleted Items From the Cart
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Two Adjustments (behind the scenes)
-
Module Introduction
Xem trước -
What is Mongoose?
Xem trước -
Connecting to the MongoDB Server with Mongoose
Xem trước -
Creating the Product Schema
Xem trước -
Saving Data Through Mongoose
Xem trước -
Fetching All Products
Xem trước -
Fetching a Single Product
Xem trước -
Updating Products
Xem trước -
Deleting Products
Xem trước -
Adding and Using a User Model
Xem trước -
Using Relations in Mongoose
Xem trước -
One Important Thing About Fetching Relations
Xem trước -
Working on the Shopping Cart
Xem trước -
Loading the Cart
Xem trước -
Deleting Cart Items
Xem trước -
Creating & Getting Orders
Xem trước -
Storing All Order Related Data
Xem trước -
Clearing the Cart After Storing an Order
Xem trước -
Getting & Displaying the Orders
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is Mongoose?
Xem trước -
Connecting to the MongoDB Server with Mongoose
Xem trước -
Creating the Product Schema
Xem trước -
Saving Data Through Mongoose
Xem trước -
Fetching All Products
Xem trước -
Fetching a Single Product
Xem trước -
Updating Products
Xem trước -
Deleting Products
Xem trước -
Adding and Using a User Model
Xem trước -
Using Relations in Mongoose
Xem trước -
One Important Thing About Fetching Relations
Xem trước -
Working on the Shopping Cart
Xem trước -
Loading the Cart
Xem trước -
Deleting Cart Items
Xem trước -
Creating & Getting Orders
Xem trước -
Storing All Order Related Data
Xem trước -
Clearing the Cart After Storing an Order
Xem trước -
Getting & Displaying the Orders
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is Mongoose?
Xem trước -
Connecting to the MongoDB Server with Mongoose
Xem trước -
Creating the Product Schema
Xem trước -
Saving Data Through Mongoose
Xem trước -
Fetching All Products
Xem trước -
Fetching a Single Product
Xem trước -
Updating Products
Xem trước -
Deleting Products
Xem trước -
Adding and Using a User Model
Xem trước -
Using Relations in Mongoose
Xem trước -
One Important Thing About Fetching Relations
Xem trước -
Working on the Shopping Cart
Xem trước -
Loading the Cart
Xem trước -
Deleting Cart Items
Xem trước -
Creating & Getting Orders
Xem trước -
Storing All Order Related Data
Xem trước -
Clearing the Cart After Storing an Order
Xem trước -
Getting & Displaying the Orders
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is Mongoose?
Xem trước -
Connecting to the MongoDB Server with Mongoose
Xem trước -
Creating the Product Schema
Xem trước -
Saving Data Through Mongoose
Xem trước -
Fetching All Products
Xem trước -
Fetching a Single Product
Xem trước -
Updating Products
Xem trước -
Deleting Products
Xem trước -
Adding and Using a User Model
Xem trước -
Using Relations in Mongoose
Xem trước -
One Important Thing About Fetching Relations
Xem trước -
Working on the Shopping Cart
Xem trước -
Loading the Cart
Xem trước -
Deleting Cart Items
Xem trước -
Creating & Getting Orders
Xem trước -
Storing All Order Related Data
Xem trước -
Clearing the Cart After Storing an Order
Xem trước -
Getting & Displaying the Orders
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is a Cookie?
Xem trước -
The Current Project Status
Xem trước -
Optional: Creating the Login Form
Xem trước -
Adding the Request Driven Login Solution
Xem trước -
Setting a Cookie
Xem trước -
Manipulating Cookies
Xem trước -
Configuring Cookies
Xem trước -
What is a Session?
Xem trước -
Initializing the Session Middleware
Xem trước -
Using the Session Middleware
Xem trước -
Using MongoDB to Store Sessions
Xem trước -
Sessions & Cookies - A Short Summary
Xem trước -
Time to Practice - Sessions and Cookies
444 Xem trước -
Deleting a Cookie
Xem trước -
Fixing Some Minor Bugs
Xem trước -
Making "Add to Cart" Work Again
Xem trước -
Two Tiny Improvements
Xem trước -
Wrap Up
Xem trước -
Code Adjustments
-
Useful Resources & Links
-
Module Introduction
Xem trước -
What is a Cookie?
Xem trước -
The Current Project Status
Xem trước -
Optional: Creating the Login Form
Xem trước -
Adding the Request Driven Login Solution
Xem trước -
Setting a Cookie
Xem trước -
Manipulating Cookies
Xem trước -
Configuring Cookies
Xem trước -
What is a Session?
Xem trước -
Initializing the Session Middleware
Xem trước -
Using the Session Middleware
Xem trước -
Using MongoDB to Store Sessions
Xem trước -
Sessions & Cookies - A Short Summary
Xem trước -
Deleting a Cookie
Xem trước -
Fixing Some Minor Bugs
Xem trước -
Making "Add to Cart" Work Again
Xem trước -
Two Tiny Improvements
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is a Cookie?
Xem trước -
The Current Project Status
Xem trước -
Optional: Creating the Login Form
Xem trước -
Adding the Request Driven Login Solution
Xem trước -
Setting a Cookie
Xem trước -
Manipulating Cookies
Xem trước -
Configuring Cookies
Xem trước -
What is a Session?
Xem trước -
Initializing the Session Middleware
Xem trước -
Using the Session Middleware
Xem trước -
Using MongoDB to Store Sessions
Xem trước -
Sessions & Cookies - A Short Summary
Xem trước -
Deleting a Cookie
Xem trước -
Fixing Some Minor Bugs
Xem trước -
Making "Add to Cart" Work Again
Xem trước -
Two Tiny Improvements
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is a Cookie?
Xem trước -
The Current Project Status
Xem trước -
Optional: Creating the Login Form
Xem trước -
Adding the Request Driven Login Solution
Xem trước -
Setting a Cookie
Xem trước -
Manipulating Cookies
Xem trước -
Configuring Cookies
Xem trước -
What is a Session?
Xem trước -
Initializing the Session Middleware
Xem trước -
Using the Session Middleware
Xem trước -
Using MongoDB to Store Sessions
Xem trước -
Sessions & Cookies - A Short Summary
Xem trước -
Time to Practice - Sessions and Cookies
444 Xem trước -
Deleting a Cookie
Xem trước -
Fixing Some Minor Bugs
Xem trước -
Making "Add to Cart" Work Again
Xem trước -
Two Tiny Improvements
Xem trước -
Wrap Up
Xem trước -
Code Adjustments
-
Useful Resources & Links
-
Module Introduction
Xem trước -
What is Authentication?
Xem trước -
How is Authentication Implemented?
Xem trước -
Our Updated Project Status
Xem trước -
Implementing an Authentication Flow
Xem trước -
Encrypting Passwords
Xem trước -
Adding a Tiny Code Improvement
Xem trước -
Adding the Signin Functionality
Xem trước -
Working on Route Protection
Xem trước -
Using Middleware to Protect Routes
Xem trước -
Understanding CSRF Attacks
Xem trước -
Using a CSRF Token
Xem trước -
Adding CSRF Protection
Xem trước -
Csurf() Alternatives
-
Fixing the Order Button
Xem trước -
Providing User Feedback
Xem trước -
Optional: Styling Error Messages
Xem trước -
Finishing the Flash Messages
Xem trước -
Adding Additional Flash Messages
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is Authentication?
Xem trước -
How is Authentication Implemented?
Xem trước -
Our Updated Project Status
Xem trước -
Implementing an Authentication Flow
Xem trước -
Encrypting Passwords
Xem trước -
Adding a Tiny Code Improvement
Xem trước -
Adding the Signin Functionality
Xem trước -
Working on Route Protection
Xem trước -
Using Middleware to Protect Routes
Xem trước -
Understanding CSRF Attacks
Xem trước -
Using a CSRF Token
Xem trước -
Adding CSRF Protection
Xem trước -
Fixing the Order Button
Xem trước -
Providing User Feedback
Xem trước -
Optional: Styling Error Messages
Xem trước -
Finishing the Flash Messages
Xem trước -
Adding Additional Flash Messages
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is Authentication?
Xem trước -
How is Authentication Implemented?
Xem trước -
Our Updated Project Status
Xem trước -
Implementing an Authentication Flow
Xem trước -
Encrypting Passwords
Xem trước -
Adding a Tiny Code Improvement
Xem trước -
Adding the Signin Functionality
Xem trước -
Working on Route Protection
Xem trước -
Using Middleware to Protect Routes
Xem trước -
Understanding CSRF Attacks
Xem trước -
Using a CSRF Token
Xem trước -
Adding CSRF Protection
Xem trước -
Fixing the Order Button
Xem trước -
Providing User Feedback
Xem trước -
Optional: Styling Error Messages
Xem trước -
Finishing the Flash Messages
Xem trước -
Adding Additional Flash Messages
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is Authentication?
Xem trước -
How is Authentication Implemented?
Xem trước -
Our Updated Project Status
Xem trước -
Implementing an Authentication Flow
Xem trước -
Encrypting Passwords
Xem trước -
Adding a Tiny Code Improvement
Xem trước -
Adding the Signin Functionality
Xem trước -
Working on Route Protection
Xem trước -
Using Middleware to Protect Routes
Xem trước -
Understanding CSRF Attacks
Xem trước -
Using a CSRF Token
Xem trước -
Adding CSRF Protection
Xem trước -
Csurf() Alternatives
-
Fixing the Order Button
Xem trước -
Providing User Feedback
Xem trước -
Optional: Styling Error Messages
Xem trước -
Finishing the Flash Messages
Xem trước -
Adding Additional Flash Messages
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
How Does Sending Emails Work?
Xem trước -
Using SendGrid
Xem trước -
Using Nodemailer to Send an Email
Xem trước -
Potential Limitation for Large Scale Apps
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
How Does Sending Emails Work?
Xem trước -
Using SendGrid
Xem trước -
Using Nodemailer to Send an Email
Xem trước -
Potential Limitation for Large Scale Apps
Xem trước -
Module Introduction
Xem trước -
How Does Sending Emails Work?
Xem trước -
Using SendGrid
Xem trước -
Using Nodemailer to Send an Email
Xem trước -
Potential Limitation for Large Scale Apps
Xem trước -
Module Introduction
Xem trước -
How Does Sending Emails Work?
Xem trước -
Using SendGrid
Xem trước -
Using Nodemailer to Send an Email
Xem trước -
Potential Limitation for Large Scale Apps
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Resetting Passwords
Xem trước -
Implementing the Token Logic
Xem trước -
Creating the Token
Xem trước -
Creating the Reset Password Form
Xem trước -
Adding Logic to Update the Password
Xem trước -
Why we Need Authorization
Xem trước -
Adding Authorization
Xem trước -
Adding Protection to Post Actions
Xem trước -
Why Editing Fails
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Resetting Passwords
Xem trước -
Implementing the Token Logic
Xem trước -
Creating the Token
Xem trước -
Creating the Reset Password Form
Xem trước -
Adding Logic to Update the Password
Xem trước -
Why we Need Authorization
Xem trước -
Adding Authorization
Xem trước -
Adding Protection to Post Actions
Xem trước -
Why Editing Fails
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Resetting Passwords
Xem trước -
Implementing the Token Logic
Xem trước -
Creating the Token
Xem trước -
Creating the Reset Password Form
Xem trước -
Adding Logic to Update the Password
Xem trước -
Why we Need Authorization
Xem trước -
Adding Authorization
Xem trước -
Adding Protection to Post Actions
Xem trước -
Why Editing Fails
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Resetting Passwords
Xem trước -
Implementing the Token Logic
Xem trước -
Creating the Token
Xem trước -
Creating the Reset Password Form
Xem trước -
Adding Logic to Update the Password
Xem trước -
Why we Need Authorization
Xem trước -
Adding Authorization
Xem trước -
Adding Protection to Post Actions
Xem trước -
Why Editing Fails
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Why Should We Use Validation?
Xem trước -
How to Validate Input?
Xem trước -
Setup & Basic Validation
Xem trước -
Using Validation Error Messages
Xem trước -
Built-In & Custom Validators
Xem trước -
More Validators
Xem trước -
Checking For Field Equality
Xem trước -
Adding Async Validation
Xem trước -
Time to Practice - Validation
285 Xem trước -
Keeping User Input
Xem trước -
Adding Conditional CSS Classes
Xem trước -
Adding Validation to Login
Xem trước -
Sanitizing Data
Xem trước -
Validating Product Addition
Xem trước -
Validating Product Editing
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Why Should We Use Validation?
Xem trước -
How to Validate Input?
Xem trước -
Setup & Basic Validation
Xem trước -
Using Validation Error Messages
Xem trước -
Built-In & Custom Validators
Xem trước -
More Validators
Xem trước -
Checking For Field Equality
Xem trước -
Adding Async Validation
Xem trước -
Keeping User Input
Xem trước -
Adding Conditional CSS Classes
Xem trước -
Adding Validation to Login
Xem trước -
Sanitizing Data
Xem trước -
Validating Product Addition
Xem trước -
Validating Product Editing
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Why Should We Use Validation?
Xem trước -
How to Validate Input?
Xem trước -
Setup & Basic Validation
Xem trước -
Using Validation Error Messages
Xem trước -
Built-In & Custom Validators
Xem trước -
More Validators
Xem trước -
Checking For Field Equality
Xem trước -
Adding Async Validation
Xem trước -
Keeping User Input
Xem trước -
Adding Conditional CSS Classes
Xem trước -
Adding Validation to Login
Xem trước -
Sanitizing Data
Xem trước -
Validating Product Addition
Xem trước -
Validating Product Editing
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Why Should We Use Validation?
Xem trước -
How to Validate Input?
Xem trước -
Setup & Basic Validation
Xem trước -
Using Validation Error Messages
Xem trước -
Built-In & Custom Validators
Xem trước -
More Validators
Xem trước -
Checking For Field Equality
Xem trước -
Adding Async Validation
Xem trước -
Time to Practice - Validation
285 Xem trước -
Keeping User Input
Xem trước -
Adding Conditional CSS Classes
Xem trước -
Adding Validation to Login
Xem trước -
Sanitizing Data
Xem trước -
Validating Product Addition
Xem trước -
Validating Product Editing
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Types of Errors & Error Handling
Xem trước -
Analyzing the Error Handling in the Current Project
Xem trước -
Errors - Some Theory
Xem trước -
Throwing Errors in Code
Xem trước -
Returning Error Pages
Xem trước -
Using the Express.js Error Handling Middleware
Xem trước -
Updating the App
Xem trước -
Using the Error Handling Middleware Correctly
Xem trước -
Status Codes
Xem trước -
Available Status Codes
-
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Types of Errors & Error Handling
Xem trước -
Analyzing the Error Handling in the Current Project
Xem trước -
Errors - Some Theory
Xem trước -
Throwing Errors in Code
Xem trước -
Returning Error Pages
Xem trước -
Using the Express.js Error Handling Middleware
Xem trước -
Updating the App
Xem trước -
Using the Error Handling Middleware Correctly
Xem trước -
Status Codes
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Types of Errors & Error Handling
Xem trước -
Analyzing the Error Handling in the Current Project
Xem trước -
Errors - Some Theory
Xem trước -
Throwing Errors in Code
Xem trước -
Returning Error Pages
Xem trước -
Using the Express.js Error Handling Middleware
Xem trước -
Updating the App
Xem trước -
Using the Error Handling Middleware Correctly
Xem trước -
Status Codes
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Types of Errors & Error Handling
Xem trước -
Analyzing the Error Handling in the Current Project
Xem trước -
Errors - Some Theory
Xem trước -
Throwing Errors in Code
Xem trước -
Returning Error Pages
Xem trước -
Using the Express.js Error Handling Middleware
Xem trước -
Updating the App
Xem trước -
Using the Error Handling Middleware Correctly
Xem trước -
Status Codes
Xem trước -
Available Status Codes
-
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Adding a File Picker to the Frontend
Xem trước -
Handling Multipart Form Data
Xem trước -
Handling File Uploads with Multer
Xem trước -
Configuring Multer to Adjust Filename & Filepath
Xem trước -
Filtering Files by Mimetype
Xem trước -
Storing File Data in the Database
Xem trước -
Remove imageUrl from "Add Product"
-
Serving Images Statically
Xem trước -
Downloading Files with Authentication
Xem trước -
Setting File Type Headers
Xem trước -
Restricting File Access
Xem trước -
Streaming Data vs Preloading Data
Xem trước -
Using PDFKit for .pdf Generation
Xem trước -
Generating .pdf Files with Order Data
Xem trước -
Deleting Files
Xem trước -
Fixing Invoice Links
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Adding a File Picker to the Frontend
Xem trước -
Handling Multipart Form Data
Xem trước -
Handling File Uploads with Multer
Xem trước -
Configuring Multer to Adjust Filename & Filepath
Xem trước -
Filtering Files by Mimetype
Xem trước -
Storing File Data in the Database
Xem trước -
Serving Images Statically
Xem trước -
Downloading Files with Authentication
Xem trước -
Setting File Type Headers
Xem trước -
Restricting File Access
Xem trước -
Streaming Data vs Preloading Data
Xem trước -
Using PDFKit for .pdf Generation
Xem trước -
Generating .pdf Files with Order Data
Xem trước -
Deleting Files
Xem trước -
Fixing Invoice Links
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Adding a File Picker to the Frontend
Xem trước -
Handling Multipart Form Data
Xem trước -
Handling File Uploads with Multer
Xem trước -
Configuring Multer to Adjust Filename & Filepath
Xem trước -
Filtering Files by Mimetype
Xem trước -
Storing File Data in the Database
Xem trước -
Serving Images Statically
Xem trước -
Downloading Files with Authentication
Xem trước -
Setting File Type Headers
Xem trước -
Restricting File Access
Xem trước -
Streaming Data vs Preloading Data
Xem trước -
Using PDFKit for .pdf Generation
Xem trước -
Generating .pdf Files with Order Data
Xem trước -
Deleting Files
Xem trước -
Fixing Invoice Links
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Adding a File Picker to the Frontend
Xem trước -
Handling Multipart Form Data
Xem trước -
Handling File Uploads with Multer
Xem trước -
Configuring Multer to Adjust Filename & Filepath
Xem trước -
Filtering Files by Mimetype
Xem trước -
Storing File Data in the Database
Xem trước -
Remove imageUrl from "Add Product"
-
Serving Images Statically
Xem trước -
Downloading Files with Authentication
Xem trước -
Setting File Type Headers
Xem trước -
Restricting File Access
Xem trước -
Streaming Data vs Preloading Data
Xem trước -
Using PDFKit for .pdf Generation
Xem trước -
Generating .pdf Files with Order Data
Xem trước -
Deleting Files
Xem trước -
Fixing Invoice Links
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Useful Resources & Links
Xem trước -
Module Introduction
Xem trước -
Adding Pagination Links
Xem trước -
Retrieving a Chunk of Data
Xem trước -
Skip & Limit with SQL
-
Preparing Pagination Data on the Server
Xem trước -
Adding Dynamic Pagination Buttons
Xem trước -
Re-Using the Pagination Logic & Controls
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Adding Pagination Links
Xem trước -
Retrieving a Chunk of Data
Xem trước -
Preparing Pagination Data on the Server
Xem trước -
Adding Dynamic Pagination Buttons
Xem trước -
Re-Using the Pagination Logic & Controls
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Adding Pagination Links
Xem trước -
Retrieving a Chunk of Data
Xem trước -
Preparing Pagination Data on the Server
Xem trước -
Adding Dynamic Pagination Buttons
Xem trước -
Re-Using the Pagination Logic & Controls
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
Adding Pagination Links
Xem trước -
Retrieving a Chunk of Data
Xem trước -
Skip & Limit with SQL
-
Preparing Pagination Data on the Server
Xem trước -
Adding Dynamic Pagination Buttons
Xem trước -
Re-Using the Pagination Logic & Controls
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What are Async Requests?
Xem trước -
Adding Client Side JS Code
Xem trước -
The JSON Data Format
-
Sending & Handling Background Requests
Xem trước -
Manipulating the DOM
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What are Async Requests?
Xem trước -
Adding Client Side JS Code
Xem trước -
Sending & Handling Background Requests
Xem trước -
Manipulating the DOM
Xem trước -
Module Introduction
Xem trước -
What are Async Requests?
Xem trước -
Adding Client Side JS Code
Xem trước -
Sending & Handling Background Requests
Xem trước -
Manipulating the DOM
Xem trước -
Module Introduction
Xem trước -
What are Async Requests?
Xem trước -
Adding Client Side JS Code
Xem trước -
The JSON Data Format
-
Sending & Handling Background Requests
Xem trước -
Manipulating the DOM
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
How Payments Work
Xem trước -
Adding a Checkout Page
Xem trước -
Using Stripe in Your App
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
How Payments Work
Xem trước -
Adding a Checkout Page
Xem trước -
Using Stripe in Your App
Xem trước -
Module Introduction
Xem trước -
How Payments Work
Xem trước -
Adding a Checkout Page
Xem trước -
Using Stripe in Your App
Xem trước -
Module Introduction
Xem trước -
How Payments Work
Xem trước -
Adding a Checkout Page
Xem trước -
Using Stripe in Your App
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What are REST APIs and why do we use Them?
Xem trước -
Accessing Data with REST APIs
Xem trước -
Understanding Routing & HTTP Methods
Xem trước -
REST APIs - The Core Principles
Xem trước -
Creating our REST API Project & Implementing the Route Setup
Xem trước -
Sending Requests & Responses and Working with Postman
Xem trước -
REST APIs, Clients & CORS Errors
Xem trước -
Sending POST Requests
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What are REST APIs and why do we use Them?
Xem trước -
Accessing Data with REST APIs
Xem trước -
Understanding Routing & HTTP Methods
Xem trước -
REST APIs - The Core Principles
Xem trước -
Creating our REST API Project & Implementing the Route Setup
Xem trước -
Sending Requests & Responses and Working with Postman
Xem trước -
REST APIs, Clients & CORS Errors
Xem trước -
Sending POST Requests
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What are REST APIs and why do we use Them?
Xem trước -
Accessing Data with REST APIs
Xem trước -
Understanding Routing & HTTP Methods
Xem trước -
REST APIs - The Core Principles
Xem trước -
Creating our REST API Project & Implementing the Route Setup
Xem trước -
Sending Requests & Responses and Working with Postman
Xem trước -
REST APIs, Clients & CORS Errors
Xem trước -
Sending POST Requests
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What are REST APIs and why do we use Them?
Xem trước -
Accessing Data with REST APIs
Xem trước -
Understanding Routing & HTTP Methods
Xem trước -
REST APIs - The Core Principles
Xem trước -
Creating our REST API Project & Implementing the Route Setup
Xem trước -
Sending Requests & Responses and Working with Postman
Xem trước -
REST APIs, Clients & CORS Errors
Xem trước -
Sending POST Requests
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
REST APIs & The Rest Of The Course
Xem trước -
Understanding the Frontend Setup
Xem trước -
Planning the API
Xem trước -
Fetching Lists of Posts
Xem trước -
Adding a Create Post Endpoint
Xem trước -
Adding Server Side Validation
Xem trước -
Setting Up a Post Model
Xem trước -
Storing Posts in the Database
Xem trước -
Static Images & Error Handling
Xem trước -
Fetching a Single Post
Xem trước -
Image Names & Windows
-
Uploading Images
Xem trước -
Updating Posts
Xem trước -
Deleting Posts
Xem trước -
Adding Pagination
Xem trước -
Adding a User Model
Xem trước -
Adding User Signup Validation
Xem trước -
Signing Users Up
Xem trước -
How Does Authentication Work?
Xem trước -
Starting with User Login
Xem trước -
Logging In & Creating JSON Web Tokens (JWTs)
Xem trước -
Using & Validating the Token
Xem trước -
Adding Auth Middleware to All Routes
Xem trước -
Connecting Posts & Users
Xem trước -
Adding Authorization Checks
Xem trước -
Clearing Post-User Relations
Xem trước -
Time to Practice - Working with REST APIs
496 Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
REST APIs & The Rest Of The Course
Xem trước -
Understanding the Frontend Setup
Xem trước -
Planning the API
Xem trước -
Fetching Lists of Posts
Xem trước -
Adding a Create Post Endpoint
Xem trước -
Adding Server Side Validation
Xem trước -
Setting Up a Post Model
Xem trước -
Storing Posts in the Database
Xem trước -
Static Images & Error Handling
Xem trước -
Fetching a Single Post
Xem trước -
Uploading Images
Xem trước -
Updating Posts
Xem trước -
Deleting Posts
Xem trước -
Adding Pagination
Xem trước -
Adding a User Model
Xem trước -
Adding User Signup Validation
Xem trước -
Signing Users Up
Xem trước -
How Does Authentication Work?
Xem trước -
Starting with User Login
Xem trước -
Logging In & Creating JSON Web Tokens (JWTs)
Xem trước -
Using & Validating the Token
Xem trước -
Adding Auth Middleware to All Routes
Xem trước -
Connecting Posts & Users
Xem trước -
Adding Authorization Checks
Xem trước -
Clearing Post-User Relations
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
REST APIs & The Rest Of The Course
Xem trước -
Understanding the Frontend Setup
Xem trước -
Planning the API
Xem trước -
Fetching Lists of Posts
Xem trước -
Adding a Create Post Endpoint
Xem trước -
Adding Server Side Validation
Xem trước -
Setting Up a Post Model
Xem trước -
Storing Posts in the Database
Xem trước -
Static Images & Error Handling
Xem trước -
Fetching a Single Post
Xem trước -
Uploading Images
Xem trước -
Updating Posts
Xem trước -
Deleting Posts
Xem trước -
Adding Pagination
Xem trước -
Adding a User Model
Xem trước -
Adding User Signup Validation
Xem trước -
Signing Users Up
Xem trước -
How Does Authentication Work?
Xem trước -
Starting with User Login
Xem trước -
Logging In & Creating JSON Web Tokens (JWTs)
Xem trước -
Using & Validating the Token
Xem trước -
Adding Auth Middleware to All Routes
Xem trước -
Connecting Posts & Users
Xem trước -
Adding Authorization Checks
Xem trước -
Clearing Post-User Relations
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
REST APIs & The Rest Of The Course
Xem trước -
Understanding the Frontend Setup
Xem trước -
Planning the API
Xem trước -
Fetching Lists of Posts
Xem trước -
Adding a Create Post Endpoint
Xem trước -
Adding Server Side Validation
Xem trước -
Setting Up a Post Model
Xem trước -
Storing Posts in the Database
Xem trước -
Static Images & Error Handling
Xem trước -
Fetching a Single Post
Xem trước -
Image Names & Windows
-
Uploading Images
Xem trước -
Updating Posts
Xem trước -
Deleting Posts
Xem trước -
Adding Pagination
Xem trước -
Adding a User Model
Xem trước -
Adding User Signup Validation
Xem trước -
Signing Users Up
Xem trước -
How Does Authentication Work?
Xem trước -
Starting with User Login
Xem trước -
Logging In & Creating JSON Web Tokens (JWTs)
Xem trước -
Using & Validating the Token
Xem trước -
Adding Auth Middleware to All Routes
Xem trước -
Connecting Posts & Users
Xem trước -
Adding Authorization Checks
Xem trước -
Clearing Post-User Relations
Xem trước -
Time to Practice - Working with REST APIs
496 Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is Async Await All About?
Xem trước -
Transforming "Then Catch" to "Async Await"
Xem trước -
Top-level "await"
Xem trước -
Time to Practice - Async Await
596 Xem trước -
The User Name is Missing!
-
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is Async Await All About?
Xem trước -
Transforming "Then Catch" to "Async Await"
Xem trước -
Top-level "await"
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is Async Await All About?
Xem trước -
Transforming "Then Catch" to "Async Await"
Xem trước -
Top-level "await"
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is Async Await All About?
Xem trước -
Transforming "Then Catch" to "Async Await"
Xem trước -
Top-level "await"
Xem trước -
Time to Practice - Async Await
596 Xem trước -
The User Name is Missing!
-
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What Are Websockets & Why Would You Use Them?
Xem trước -
Websocket Solutions - An Overview
Xem trước -
Setting Up Socket.io on the Server
Xem trước -
Establishing a Connection From the Client
Xem trước -
Identifying Realtime Potential
Xem trước -
Sharing the IO Instance Across Files
Xem trước -
Synchronizing POST Additions
Xem trước -
Fixing a Bug - The Missing Username
Xem trước -
Updating Posts On All Connected Clients
Xem trước -
Sorting Correctly
Xem trước -
Deleting Posts Across Clients
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What Are Websockets & Why Would You Use Them?
Xem trước -
Websocket Solutions - An Overview
Xem trước -
Setting Up Socket.io on the Server
Xem trước -
Establishing a Connection From the Client
Xem trước -
Identifying Realtime Potential
Xem trước -
Sharing the IO Instance Across Files
Xem trước -
Synchronizing POST Additions
Xem trước -
Fixing a Bug - The Missing Username
Xem trước -
Updating Posts On All Connected Clients
Xem trước -
Sorting Correctly
Xem trước -
Deleting Posts Across Clients
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What Are Websockets & Why Would You Use Them?
Xem trước -
Websocket Solutions - An Overview
Xem trước -
Setting Up Socket.io on the Server
Xem trước -
Establishing a Connection From the Client
Xem trước -
Identifying Realtime Potential
Xem trước -
Sharing the IO Instance Across Files
Xem trước -
Synchronizing POST Additions
Xem trước -
Fixing a Bug - The Missing Username
Xem trước -
Updating Posts On All Connected Clients
Xem trước -
Sorting Correctly
Xem trước -
Deleting Posts Across Clients
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What Are Websockets & Why Would You Use Them?
Xem trước -
Websocket Solutions - An Overview
Xem trước -
Setting Up Socket.io on the Server
Xem trước -
Establishing a Connection From the Client
Xem trước -
Identifying Realtime Potential
Xem trước -
Sharing the IO Instance Across Files
Xem trước -
Synchronizing POST Additions
Xem trước -
Fixing a Bug - The Missing Username
Xem trước -
Updating Posts On All Connected Clients
Xem trước -
Sorting Correctly
Xem trước -
Deleting Posts Across Clients
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is GraphQL?
Xem trước -
Understanding the Setup & Writing our First Query
Xem trước -
Defining a Mutation Schema
Xem trước -
Adding a Mutation Resolver & GraphiQL
Xem trước -
Adding Input Validation
Xem trước -
Handling Errors
Xem trước -
Connecting the Frontend to the GraphQL API
Xem trước -
Adding a Login Query & a Resolver
Xem trước -
Adding Login Functionality
Xem trước -
Adding a Create Post Mutation
Xem trước -
Extracting User Data From the Auth Token
Xem trước -
Sending the "Create Post" Query
Xem trước -
Fixing a Bug & Adding New Posts Correctly
Xem trước -
Adding a "Get Post" Query & Resolver
Xem trước -
Sending "Create Post" and "Get Post" Queries
Xem trước -
Adding Pagination
Xem trước -
Uploading Images
Xem trước -
Fetching the imageUrl
-
Viewing a Single Post
Xem trước -
Updating Posts
Xem trước -
Deleting Posts
Xem trước -
Adding Posts & Pagination
-
Managing the User Status
Xem trước -
Using Variables
Xem trước -
Fixing a Pagination Bug
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is GraphQL?
Xem trước -
Understanding the Setup & Writing our First Query
Xem trước -
Defining a Mutation Schema
Xem trước -
Adding a Mutation Resolver & GraphiQL
Xem trước -
Adding Input Validation
Xem trước -
Handling Errors
Xem trước -
Connecting the Frontend to the GraphQL API
Xem trước -
Adding a Login Query & a Resolver
Xem trước -
Adding Login Functionality
Xem trước -
Adding a Create Post Mutation
Xem trước -
Extracting User Data From the Auth Token
Xem trước -
Sending the "Create Post" Query
Xem trước -
Fixing a Bug & Adding New Posts Correctly
Xem trước -
Adding a "Get Post" Query & Resolver
Xem trước -
Sending "Create Post" and "Get Post" Queries
Xem trước -
Adding Pagination
Xem trước -
Uploading Images
Xem trước -
Viewing a Single Post
Xem trước -
Updating Posts
Xem trước -
Deleting Posts
Xem trước -
Managing the User Status
Xem trước -
Using Variables
Xem trước -
Fixing a Pagination Bug
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is GraphQL?
Xem trước -
Understanding the Setup & Writing our First Query
Xem trước -
Defining a Mutation Schema
Xem trước -
Adding a Mutation Resolver & GraphiQL
Xem trước -
Adding Input Validation
Xem trước -
Handling Errors
Xem trước -
Connecting the Frontend to the GraphQL API
Xem trước -
Adding a Login Query & a Resolver
Xem trước -
Adding Login Functionality
Xem trước -
Adding a Create Post Mutation
Xem trước -
Extracting User Data From the Auth Token
Xem trước -
Sending the "Create Post" Query
Xem trước -
Fixing a Bug & Adding New Posts Correctly
Xem trước -
Adding a "Get Post" Query & Resolver
Xem trước -
Sending "Create Post" and "Get Post" Queries
Xem trước -
Adding Pagination
Xem trước -
Uploading Images
Xem trước -
Viewing a Single Post
Xem trước -
Updating Posts
Xem trước -
Deleting Posts
Xem trước -
Managing the User Status
Xem trước -
Using Variables
Xem trước -
Fixing a Pagination Bug
Xem trước -
Wrap Up
Xem trước -
Module Introduction
Xem trước -
What is GraphQL?
Xem trước -
Understanding the Setup & Writing our First Query
Xem trước -
Defining a Mutation Schema
Xem trước -
Adding a Mutation Resolver & GraphiQL
Xem trước -
Adding Input Validation
Xem trước -
Handling Errors
Xem trước -
Connecting the Frontend to the GraphQL API
Xem trước -
Adding a Login Query & a Resolver
Xem trước -
Adding Login Functionality
Xem trước -
Adding a Create Post Mutation
Xem trước -
Extracting User Data From the Auth Token
Xem trước -
Sending the "Create Post" Query
Xem trước -
Fixing a Bug & Adding New Posts Correctly
Xem trước -
Adding a "Get Post" Query & Resolver
Xem trước -
Sending "Create Post" and "Get Post" Queries
Xem trước -
Adding Pagination
Xem trước -
Uploading Images
Xem trước -
Fetching the imageUrl
-
Viewing a Single Post
Xem trước -
Updating Posts
Xem trước -
Deleting Posts
Xem trước -
Adding Posts & Pagination
-
Managing the User Status
Xem trước -
Using Variables
Xem trước -
Fixing a Pagination Bug
Xem trước -
Wrap Up
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Deploying Different Kinds of Apps
Xem trước -
Deployment Preparations
Xem trước -
Using Environment Variables
Xem trước -
Using Production API Keys
Xem trước -
Setting Secure Response Headers with Helmet
Xem trước -
Compressing Assets
Xem trước -
Setting Up Request Logging
Xem trước -
More on Logging
-
Setting Up a SSL Server
Xem trước -
Using a Hosting Provider
Xem trước -
Understanding the Project & the Git Setup
Xem trước -
A Deployment Example with Heroku
Xem trước -
Storing User-generated Files on Heroku
-
Deploying APIs
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
Deploying Different Kinds of Apps
Xem trước -
Deployment Preparations
Xem trước -
Using Environment Variables
Xem trước -
Using Production API Keys
Xem trước -
Setting Secure Response Headers with Helmet
Xem trước -
Compressing Assets
Xem trước -
Setting Up Request Logging
Xem trước -
Setting Up a SSL Server
Xem trước -
Using a Hosting Provider
Xem trước -
Understanding the Project & the Git Setup
Xem trước -
A Deployment Example with Heroku
Xem trước -
Deploying APIs
Xem trước -
Module Introduction
Xem trước -
Deploying Different Kinds of Apps
Xem trước -
Deployment Preparations
Xem trước -
Using Environment Variables
Xem trước -
Using Production API Keys
Xem trước -
Setting Secure Response Headers with Helmet
Xem trước -
Compressing Assets
Xem trước -
Setting Up Request Logging
Xem trước -
Setting Up a SSL Server
Xem trước -
Using a Hosting Provider
Xem trước -
Understanding the Project & the Git Setup
Xem trước -
A Deployment Example with Heroku
Xem trước -
Deploying APIs
Xem trước -
Module Introduction
Xem trước -
Deploying Different Kinds of Apps
Xem trước -
Deployment Preparations
Xem trước -
Using Environment Variables
Xem trước -
Using Production API Keys
Xem trước -
Setting Secure Response Headers with Helmet
Xem trước -
Compressing Assets
Xem trước -
Setting Up Request Logging
Xem trước -
More on Logging
-
Setting Up a SSL Server
Xem trước -
Using a Hosting Provider
Xem trước -
Understanding the Project & the Git Setup
Xem trước -
A Deployment Example with Heroku
Xem trước -
Storing User-generated Files on Heroku
-
Deploying APIs
Xem trước -
Useful Resources & Links
-
Module Introduction
Xem trước -
What is Testing?
Xem trước -
Why & How?
Xem trước -
Setup and Writing a First Test
Xem trước -
Testing the Auth Middleware
Xem trước -
Organizing Multiple Tests
-
What Not To Test!
-
Using Stubs
-
Testing Controllers
-
Testing Asynchronous Code
-
Setting up a Testing Database
-
Testing Code With An Active Database
-
Cleaning Up
-
Hooks
-
Testing Code That Requires Authentication
-
Wrap Up & Mastering Tests
-
Useful Resources & Links
-
Module Introduction
-
What is Testing?
-
Why & How?
-
Setup and Writing a First Test
-
Testing the Auth Middleware
-
Organizing Multiple Tests
-
What Not To Test!
-
Using Stubs
-
Testing Controllers
-
Testing Asynchronous Code
-
Setting up a Testing Database
-
Testing Code With An Active Database
-
Cleaning Up
-
Hooks
-
Testing Code That Requires Authentication
-
Wrap Up & Mastering Tests
-
Module Introduction
-
What is Testing?
-
Why & How?
-
Setup and Writing a First Test
-
Testing the Auth Middleware
-
Organizing Multiple Tests
-
What Not To Test!
-
Using Stubs
-
Testing Controllers
-
Testing Asynchronous Code
-
Setting up a Testing Database
-
Testing Code With An Active Database
-
Cleaning Up
-
Hooks
-
Testing Code That Requires Authentication
-
Wrap Up & Mastering Tests
-
Module Introduction
-
What is Testing?
-
Why & How?
-
Setup and Writing a First Test
-
Testing the Auth Middleware
-
Organizing Multiple Tests
-
What Not To Test!
-
Using Stubs
-
Testing Controllers
-
Testing Asynchronous Code
-
Setting up a Testing Database
-
Testing Code With An Active Database
-
Cleaning Up
-
Hooks
-
Testing Code That Requires Authentication
-
Wrap Up & Mastering Tests
-
Useful Resources & Links
-
Module Introduction
-
Npm & Node.js
-
Using npm
-
Versioning in package.json
-
What is a Build Tool?
-
Using Node.js in Build Processes
-
Useful Resources & Links
-
Module Introduction
-
Npm & Node.js
-
Using npm
-
What is a Build Tool?
-
Using Node.js in Build Processes
-
Module Introduction
-
Npm & Node.js
-
Using npm
-
What is a Build Tool?
-
Using Node.js in Build Processes
-
Module Introduction
-
Npm & Node.js
-
Using npm
-
Versioning in package.json
-
What is a Build Tool?
-
Using Node.js in Build Processes
-
Useful Resources & Links
-
Module Introduction
-
What is this Module About?
-
Working with ES Modules & Node
-
More on ES Modules
-
Node Core Modules & Promises
-
Module Resources
-
Module Introduction
-
What is this Module About?
-
Working with ES Modules & Node
-
More on ES Modules
-
Node Core Modules & Promises
-
Module Introduction
-
What is this Module About?
-
Working with ES Modules & Node
-
More on ES Modules
-
Node Core Modules & Promises
-
Module Introduction
-
What is this Module About?
-
Working with ES Modules & Node
-
More on ES Modules
-
Node Core Modules & Promises
-
Module Resources
-
Module Introduction
-
TypeScript: What & Why?
-
TypeScript Setup
-
Assigning Types
-
Type Inference & Type Casting
-
Configuring TypeScript
-
Working with Union Types
-
Using Object & Array Types
-
Working with Type Aliases & Interfaces
-
Understanding Generics
-
A First Summary
-
Node & TypeScript: Setup
-
Getting Started with Node and TypeScript
-
Writing TypeScript Express.js Code
-
Adding REST Routes with TypeScript
-
Finishing the REST Routes
-
Testing the API
-
Using Type Casting
-
Moving to a Better Project Structure
-
Wrap Up
-
Module Resources
-
Module Introduction
-
TypeScript: What & Why?
-
TypeScript Setup
-
Assigning Types
-
Type Inference & Type Casting
-
Configuring TypeScript
-
Working with Union Types
-
Using Object & Array Types
-
Working with Type Aliases & Interfaces
-
Understanding Generics
-
A First Summary
-
Node & TypeScript: Setup
-
Getting Started with Node and TypeScript
-
Writing TypeScript Express.js Code
-
Adding REST Routes with TypeScript
-
Finishing the REST Routes
-
Testing the API
-
Using Type Casting
-
Moving to a Better Project Structure
-
Wrap Up
-
Module Introduction
-
TypeScript: What & Why?
-
TypeScript Setup
-
Assigning Types
-
Type Inference & Type Casting
-
Configuring TypeScript
-
Working with Union Types
-
Using Object & Array Types
-
Working with Type Aliases & Interfaces
-
Understanding Generics
-
A First Summary
-
Node & TypeScript: Setup
-
Getting Started with Node and TypeScript
-
Writing TypeScript Express.js Code
-
Adding REST Routes with TypeScript
-
Finishing the REST Routes
-
Testing the API
-
Using Type Casting
-
Moving to a Better Project Structure
-
Wrap Up
-
Module Introduction
-
TypeScript: What & Why?
-
TypeScript Setup
-
Assigning Types
-
Type Inference & Type Casting
-
Configuring TypeScript
-
Working with Union Types
-
Using Object & Array Types
-
Working with Type Aliases & Interfaces
-
Understanding Generics
-
A First Summary
-
Node & TypeScript: Setup
-
Getting Started with Node and TypeScript
-
Writing TypeScript Express.js Code
-
Adding REST Routes with TypeScript
-
Finishing the REST Routes
-
Testing the API
-
Using Type Casting
-
Moving to a Better Project Structure
-
Wrap Up
-
Module Resources
-
Module Introduction
-
What is Deno?
-
Why Deno?
-
Deno Setup
-
Writing First Deno Code
-
The Deno Runtime (Namespace) API
-
Using the Runtime API
-
Working with Deno Permissions
-
Repeating the Example with Node
-
How Deno Features Are Organized
-
Using the Standard Library
-
Creating a Webserver
-
Using the Oak Framework with Deno
-
More on Module URLs
-
An Example Node REST API
-
Re-building the REST API with Deno
-
Should You Switch From Node to Deno?
-
Module Resources
-
Module Introduction
-
What is Deno?
-
Why Deno?
-
Deno Setup
-
Writing First Deno Code
-
The Deno Runtime (Namespace) API
-
Using the Runtime API
-
Working with Deno Permissions
-
Repeating the Example with Node
-
How Deno Features Are Organized
-
Using the Standard Library
-
Creating a Webserver
-
Using the Oak Framework with Deno
-
An Example Node REST API
-
Re-building the REST API with Deno
-
Should You Switch From Node to Deno?
-
Module Introduction
-
What is Deno?
-
Why Deno?
-
Deno Setup
-
Writing First Deno Code
-
The Deno Runtime (Namespace) API
-
Using the Runtime API
-
Working with Deno Permissions
-
Repeating the Example with Node
-
How Deno Features Are Organized
-
Using the Standard Library
-
Creating a Webserver
-
Using the Oak Framework with Deno
-
An Example Node REST API
-
Re-building the REST API with Deno
-
Should You Switch From Node to Deno?
-
Module Introduction
-
What is Deno?
-
Why Deno?
-
Deno Setup
-
Writing First Deno Code
-
The Deno Runtime (Namespace) API
-
Using the Runtime API
-
Working with Deno Permissions
-
Repeating the Example with Node
-
How Deno Features Are Organized
-
Using the Standard Library
-
Creating a Webserver
-
Using the Oak Framework with Deno
-
More on Module URLs
-
An Example Node REST API
-
Re-building the REST API with Deno
-
Should You Switch From Node to Deno?
-
Module Resources
-
Module Introduction
-
App Setup
-
Handling CORS Errors
-
Connecting Deno to MongoDB
-
Using the MongoDB Client Module
-
Finishing the Deno MongoDB CRUD Operations
-
Wrap Up
-
Module Resources
-
Module Introduction
-
App Setup
-
Handling CORS Errors
-
Connecting Deno to MongoDB
-
Using the MongoDB Client Module
-
Finishing the Deno MongoDB CRUD Operations
-
Wrap Up
-
Module Introduction
-
App Setup
-
Handling CORS Errors
-
Connecting Deno to MongoDB
-
Using the MongoDB Client Module
-
Finishing the Deno MongoDB CRUD Operations
-
Wrap Up
-
Module Introduction
-
App Setup
-
Handling CORS Errors
-
Connecting Deno to MongoDB
-
Using the MongoDB Client Module
-
Finishing the Deno MongoDB CRUD Operations
-
Wrap Up
-
Module Resources
Requirment
-
General knowledge of how the web works is recommended but not a must-have
-
Basic JavaScript knowledge is strongly recommended but could be picked up whilst going through the course
-
NO NodeJS knowledge is required!
Outcomes
-
Work with one of the most in-demand web development programming languages
-
Learn the basics as well as advanced concepts of NodeJS in great detail
-
Build modern, fast and scalable server-side web applications with NodeJS, databases like SQL or MongoDB and more
-
Understand the NodeJS ecosystem and build server-side rendered apps, REST APIs and GraphQL APIs
-
Get a thorough introduction to DenoJS
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