NodeJS - The Complete Guide (MVC, REST APIs, GraphQL, Deno)
Master Node JS & Deno.js, build REST APIs with Node.js, GraphQL APIs, add Authentication, use MongoDB, SQL & much more!
Master Node JS & Deno.js, build REST APIs with Node.js, GraphQL APIs, add Authentication, use MongoDB, SQL & much more!
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
Khu vực Câu hỏi thường gặp trống
What is Node.js?
Xem trướcJoin our Online Learning Community
Xem trướcInstalling Node.js and Creating our First App
Xem trướcUnderstanding the Role & Usage of Node.js
Xem trướcCourse Outline
Xem trướcHow To Get The Most Out Of The Course
Xem trướcCourse Setup
Working with the REPL vs Using Files
Using the Attached Source Code
Introduction
Xem trướcWhat is Node.js?
Xem trướcJoin our Online Learning Community
Installing Node.js and Creating our First App
Xem trướcUnderstanding the Role & Usage of Node.js
Xem trướcCourse Outline
Xem trướcHow To Get The Most Out Of The Course
Xem trướcCourse Setup
Working with the REPL vs Using Files
Xem trướcUsing the Attached Source Code
Introduction
Xem trướcWhat is Node.js?
Xem trướcInstalling Node.js and Creating our First App
Xem trướcUnderstanding the Role & Usage of Node.js
Xem trướcCourse Outline
Xem trướcHow To Get The Most Out Of The Course
Xem trướcWorking with the REPL vs Using Files
Xem trướcIntroduction
Xem trướcWhat is Node.js?
Xem trướcInstalling Node.js and Creating our First App
Xem trướcUnderstanding the Role & Usage of Node.js
Xem trướcCourse Outline
Xem trướcHow To Get The Most Out Of The Course
Xem trướcWorking with the REPL vs Using Files
Xem trướcModule Introduction
Xem trướcJavaScript in a Nutshell
Xem trướcRefreshing the Core Syntax
Xem trướcLet & const
Xem trướcUnderstanding Arrow Functions
Xem trướcWorking with Objects, Properties & Methods
Xem trướcArrays & Array Methods
Xem trướcArrays, Objects & Reference Types
Xem trướcUnderstanding Spread & Rest Operators
Xem trướcDestructuring
Xem trướcAsync Code & Promises
Xem trướcTemplate Literals
Wrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcJavaScript in a Nutshell
Xem trướcRefreshing the Core Syntax
Xem trướcLet & const
Xem trướcUnderstanding Arrow Functions
Xem trướcWorking with Objects, Properties & Methods
Xem trướcArrays & Array Methods
Xem trướcArrays, Objects & Reference Types
Xem trướcUnderstanding Spread & Rest Operators
Xem trướcDestructuring
Xem trướcAsync Code & Promises
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcJavaScript in a Nutshell
Xem trướcRefreshing the Core Syntax
Xem trướcLet & const
Xem trướcUnderstanding Arrow Functions
Xem trướcWorking with Objects, Properties & Methods
Xem trướcArrays & Array Methods
Xem trướcArrays, Objects & Reference Types
Xem trướcUnderstanding Spread & Rest Operators
Xem trướcDestructuring
Xem trướcAsync Code & Promises
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcHow The Web Works
Xem trướcCreating a Node Server
Xem trướcThe Node Lifecycle & Event Loop
Xem trướcControlling the Node.js Process
Understanding Requests
Xem trướcSending Responses
Xem trướcRequest & Response Headers
Routing Requests
Xem trướcRedirecting Requests
Xem trướcParsing Request Bodies
Xem trướcUnderstanding Event Driven Code Execution
Xem trướcBlocking and Non-Blocking Code
Xem trướcNode.js - Looking Behind the Scenes
Xem trướcUsing the Node Modules System
Xem trướcWrap Up
Xem trướcTime to Practice - The Basics
692 Xem trướcUseful Resources & Links
Module Introduction
Xem trướcHow The Web Works
Xem trướcCreating a Node Server
Xem trướcThe Node Lifecycle & Event Loop
Xem trướcUnderstanding Requests
Xem trướcSending Responses
Xem trướcRouting Requests
Xem trướcRedirecting Requests
Xem trướcParsing Request Bodies
Xem trướcUnderstanding Event Driven Code Execution
Xem trướcBlocking and Non-Blocking Code
Xem trướcNode.js - Looking Behind the Scenes
Xem trướcUsing the Node Modules System
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcHow The Web Works
Xem trướcCreating a Node Server
Xem trướcThe Node Lifecycle & Event Loop
Xem trướcUnderstanding Requests
Xem trướcSending Responses
Xem trướcRouting Requests
Xem trướcRedirecting Requests
Xem trướcParsing Request Bodies
Xem trướcUnderstanding Event Driven Code Execution
Xem trướcBlocking and Non-Blocking Code
Xem trướcNode.js - Looking Behind the Scenes
Xem trướcUsing the Node Modules System
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcUnderstanding NPM Scripts
Xem trướcInstalling 3rd Party Packages
Xem trướcGlobal Features vs Core Modules vs Third-Party Modules
Using Nodemon for Autorestarts
Xem trướcGlobal & Local npm Packages
Understanding different Error Types
Xem trướcFinding & Fixing Syntax Errors
Xem trướcDealing with Runtime Errors
Xem trướcLogical Errors
Xem trướcUsing the Debugger
Xem trướcRestarting the Debugger Automatically After Editing our App
Xem trướcDebugging Node.js in Visual Studio Code
Changing Variables in the Debug Console
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcUnderstanding NPM Scripts
Xem trướcInstalling 3rd Party Packages
Xem trướcUsing Nodemon for Autorestarts
Xem trướcUnderstanding different Error Types
Xem trướcFinding & Fixing Syntax Errors
Xem trướcDealing with Runtime Errors
Xem trướcLogical Errors
Xem trướcUsing the Debugger
Xem trướcRestarting the Debugger Automatically After Editing our App
Xem trướcChanging Variables in the Debug Console
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcUnderstanding NPM Scripts
Xem trướcInstalling 3rd Party Packages
Xem trướcUsing Nodemon for Autorestarts
Xem trướcUnderstanding different Error Types
Xem trướcFinding & Fixing Syntax Errors
Xem trướcDealing with Runtime Errors
Xem trướcLogical Errors
Xem trướcUsing the Debugger
Xem trướcRestarting the Debugger Automatically After Editing our App
Xem trướcChanging Variables in the Debug Console
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is Express.js?
Xem trướcInstalling Express.js
Xem trướcAdding Middleware
Xem trướcHow Middleware Works
Xem trướcExpress.js - Looking Behind the Scenes
Xem trướcHandling Different Routes
Xem trướcTime to Practice - Express.js
381 Xem trướcParsing Incoming Requests
Xem trướcLimiting Middleware Execution to POST Requests
Xem trướcUsing Express Router
Xem trướcAdding a 404 Error Page
Xem trướcFiltering Paths
Xem trướcCreating HTML Pages
Xem trướcServing HTML Pages
Xem trướcReturning a 404 Page
Xem trướcA Hint!
Using a Helper Function for Navigation
Xem trướcStyling our Pages
Xem trướcServing Files Statically
Xem trướcTime to Practice - Navigation
512 Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcWhat is Express.js?
Xem trướcInstalling Express.js
Xem trướcAdding Middleware
Xem trướcHow Middleware Works
Xem trướcExpress.js - Looking Behind the Scenes
Xem trướcHandling Different Routes
Xem trướcParsing Incoming Requests
Xem trướcLimiting Middleware Execution to POST Requests
Xem trướcUsing Express Router
Xem trướcAdding a 404 Error Page
Xem trướcFiltering Paths
Xem trướcCreating HTML Pages
Xem trướcServing HTML Pages
Xem trướcReturning a 404 Page
Xem trướcUsing a Helper Function for Navigation
Xem trướcStyling our Pages
Xem trướcServing Files Statically
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is Express.js?
Xem trướcInstalling Express.js
Xem trướcAdding Middleware
Xem trướcHow Middleware Works
Xem trướcExpress.js - Looking Behind the Scenes
Xem trướcHandling Different Routes
Xem trướcParsing Incoming Requests
Xem trướcLimiting Middleware Execution to POST Requests
Xem trướcUsing Express Router
Xem trướcAdding a 404 Error Page
Xem trướcFiltering Paths
Xem trướcCreating HTML Pages
Xem trướcServing HTML Pages
Xem trướcReturning a 404 Page
Xem trướcUsing a Helper Function for Navigation
Xem trướcStyling our Pages
Xem trướcServing Files Statically
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcSharing Data Across Requests & Users
Xem trướcTemplating Engines - An Overview
Xem trướcInstalling & Implementing Pug
Xem trướcOutputting Dynamic Content
Xem trướcOfficial Pug Docs
Converting HTML Files to Pug
Xem trướcAdding a Layout
Xem trướcFinishing the Pug Template
Xem trướcAvoiding an Error
Working with Handlebars
Xem trướcConverting our Project to Handlebars
Xem trướcAdding the Layout to Handlebars
Xem trướcWorking with EJS
Xem trướcWorking on the Layout with Partials
Xem trướcWrap Up
Xem trướcTime to Practice - Templating Engines
1502 Xem trước[OPTIONAL] Assignment Solution
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcSharing Data Across Requests & Users
Xem trướcTemplating Engines - An Overview
Xem trướcInstalling & Implementing Pug
Xem trướcOutputting Dynamic Content
Xem trướcConverting HTML Files to Pug
Xem trướcAdding a Layout
Xem trướcFinishing the Pug Template
Xem trướcWorking with Handlebars
Xem trướcConverting our Project to Handlebars
Xem trướcAdding the Layout to Handlebars
Xem trướcWorking with EJS
Xem trướcWorking on the Layout with Partials
Xem trướcWrap Up
Xem trước[OPTIONAL] Assignment Solution
Xem trướcModule Introduction
Xem trướcSharing Data Across Requests & Users
Xem trướcTemplating Engines - An Overview
Xem trướcInstalling & Implementing Pug
Xem trướcOutputting Dynamic Content
Xem trướcConverting HTML Files to Pug
Xem trướcAdding a Layout
Xem trướcFinishing the Pug Template
Xem trướcWorking with Handlebars
Xem trướcConverting our Project to Handlebars
Xem trướcAdding the Layout to Handlebars
Xem trướcWorking with EJS
Xem trướcWorking on the Layout with Partials
Xem trướcWrap Up
Xem trước[OPTIONAL] Assignment Solution
Xem trướcModule Introduction
Xem trướcWhat is the MVC?
Xem trướcAdding Controllers
Xem trướcFinishing the Controllers
Xem trướcAdding a Product Model
Xem trướcStoring Data in Files Via the Model
Xem trướcFetching Data from Files Via the Model
Xem trướcRefactoring the File Storage Code
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcWhat is the MVC?
Xem trướcAdding Controllers
Xem trướcFinishing the Controllers
Xem trướcAdding a Product Model
Xem trướcStoring Data in Files Via the Model
Xem trướcFetching Data from Files Via the Model
Xem trướcRefactoring the File Storage Code
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is the MVC?
Xem trướcAdding Controllers
Xem trướcFinishing the Controllers
Xem trướcAdding a Product Model
Xem trướcStoring Data in Files Via the Model
Xem trướcFetching Data from Files Via the Model
Xem trướcRefactoring the File Storage Code
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcCreating the Shop Structure
Xem trướcWorking on the Navigation
Xem trướcRegistering the Routes
Xem trướcStoring Product Data
Xem trướcDisplaying Product Data
Xem trướcEditing & Deleting Products
Xem trướcAdding Another Item
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcCreating the Shop Structure
Xem trướcWorking on the Navigation
Xem trướcRegistering the Routes
Xem trướcStoring Product Data
Xem trướcDisplaying Product Data
Xem trướcEditing & Deleting Products
Xem trướcAdding Another Item
Xem trướcModule Introduction
Xem trướcCreating the Shop Structure
Xem trướcWorking on the Navigation
Xem trướcRegistering the Routes
Xem trướcStoring Product Data
Xem trướcDisplaying Product Data
Xem trướcEditing & Deleting Products
Xem trướcAdding Another Item
Xem trướcModule Introduction
Xem trướcPreparations
Xem trướcApplied Changes
Adding the Product ID to the Path
Xem trướcExtracting Dynamic Params
Xem trướcLoading Product Detail Data
Xem trướcRendering the Product Detail View
Xem trướcPassing Data with POST Requests
Xem trướcAdding a Cart Model
Xem trướcUsing Query Params
Xem trướcPre-Populating the Edit Product Page with Data
Xem trướcLinking to the Edit Page
Xem trướcEditing the Product Data
Xem trướcAdding the Product-Delete Functionality
Xem trướcDisplaying Cart Items on the Cart Page
Xem trướcDeleting Cart Items
Xem trướcFixing a Delete Product Bug
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcPreparations
Xem trướcAdding the Product ID to the Path
Xem trướcExtracting Dynamic Params
Xem trướcLoading Product Detail Data
Xem trướcRendering the Product Detail View
Xem trướcPassing Data with POST Requests
Xem trướcAdding a Cart Model
Xem trướcUsing Query Params
Xem trướcPre-Populating the Edit Product Page with Data
Xem trướcLinking to the Edit Page
Xem trướcEditing the Product Data
Xem trướcAdding the Product-Delete Functionality
Xem trướcDeleting Cart Items
Xem trướcDisplaying Cart Items on the Cart Page
Xem trướcFixing a Delete Product Bug
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcPreparations
Xem trướcAdding the Product ID to the Path
Xem trướcExtracting Dynamic Params
Xem trướcLoading Product Detail Data
Xem trướcRendering the Product Detail View
Xem trướcPassing Data with POST Requests
Xem trướcAdding a Cart Model
Xem trướcUsing Query Params
Xem trướcPre-Populating the Edit Product Page with Data
Xem trướcLinking to the Edit Page
Xem trướcEditing the Product Data
Xem trướcAdding the Product-Delete Functionality
Xem trướcDeleting Cart Items
Xem trướcDisplaying Cart Items on the Cart Page
Xem trướcFixing a Delete Product Bug
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcChoosing a Database
Xem trướcNoSQL Introduction
Xem trướcComparing SQL and NoSQL
Xem trướcSetting Up MySQL
Xem trướcConnecting our App to the SQL Database
Xem trướcBasic SQL & Creating a Table
Xem trướcRetrieving Data
Xem trướcFetching Products
Xem trướcFetching Products - Time to Practice
Xem trướcInserting Data Into the Database
Xem trướcFetching a Single Product with the "where" Condition
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcChoosing a Database
Xem trướcNoSQL Introduction
Xem trướcComparing SQL and NoSQL
Xem trướcSetting Up MySQL
Xem trướcConnecting our App to the SQL Database
Xem trướcBasic SQL & Creating a Table
Xem trướcRetrieving Data
Xem trướcFetching Products
Xem trướcFetching Products - Time to Practice
Xem trướcInserting Data Into the Database
Xem trướcFetching a Single Product with the "where" Condition
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcChoosing a Database
Xem trướcNoSQL Introduction
Xem trướcComparing SQL and NoSQL
Xem trướcSetting Up MySQL
Xem trướcConnecting our App to the SQL Database
Xem trướcBasic SQL & Creating a Table
Xem trướcRetrieving Data
Xem trướcFetching Products
Xem trướcFetching Products - Time to Practice
Xem trướcInserting Data Into the Database
Xem trướcFetching a Single Product with the "where" Condition
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is Sequelize?
Xem trướcConnecting to the Database
Xem trướcDefining a Model
Xem trướcSyncing JS Definitions to the Database
Xem trướcInserting Data & Creating a Product
Xem trướcMUST READ: findById() in Sequelize 5
Retrieving Data & Finding Products
Xem trướcGetting a Single Product with the "where" Condition
Xem trướcFetching Admin Products
Xem trướcUpdating Products
Xem trướcDeleting Products
Xem trướcCreating a User Model
Xem trướcAdding a One-To-Many Relationship
Xem trướcCreating & Managing a Dummy User
Xem trướcUsing Magic Association Methods
Xem trướcFetching Related Products
Xem trướcOne-To-Many & Many-To-Many Relations
Xem trướcCreating & Fetching a Cart
Xem trướcAdding New Products to the Cart
Xem trướcAdding Existing Products & Retrieving Cart Items
Xem trướcDeleting Related Items & Deleting Cart Products
Xem trướcAdding an Order Model
Xem trướcStoring Cartitems as Orderitems
Xem trướcResetting the Cart & Fetching and Outputting Orders
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcWhat is Sequelize?
Xem trướcConnecting to the Database
Xem trướcDefining a Model
Xem trướcSyncing JS Definitions to the Database
Xem trướcInserting Data & Creating a Product
Xem trướcRetrieving Data & Finding Products
Xem trướcGetting a Single Product with the "where" Condition
Xem trướcFetching Admin Products
Xem trướcUpdating Products
Xem trướcDeleting Products
Xem trướcCreating a User Model
Xem trướcAdding a One-To-Many Relationship
Xem trướcCreating & Managing a Dummy User
Xem trướcUsing Magic Association Methods
Xem trướcFetching Related Products
Xem trướcOne-To-Many & Many-To-Many Relations
Xem trướcCreating & Fetching a Cart
Xem trướcAdding New Products to the Cart
Xem trướcAdding Existing Products & Retrieving Cart Items
Xem trướcDeleting Related Items & Deleting Cart Products
Xem trướcAdding an Order Model
Xem trướcStoring Cartitems as Orderitems
Xem trướcResetting the Cart & Fetching and Outputting Orders
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is Sequelize?
Xem trướcConnecting to the Database
Xem trướcDefining a Model
Xem trướcSyncing JS Definitions to the Database
Xem trướcInserting Data & Creating a Product
Xem trướcRetrieving Data & Finding Products
Xem trướcGetting a Single Product with the "where" Condition
Xem trướcFetching Admin Products
Xem trướcUpdating Products
Xem trướcDeleting Products
Xem trướcCreating a User Model
Adding a One-To-Many Relationship
Xem trướcCreating & Managing a Dummy User
Xem trướcUsing Magic Association Methods
Xem trướcFetching Related Products
Xem trướcOne-To-Many & Many-To-Many Relations
Xem trướcCreating & Fetching a Cart
Xem trướcAdding New Products to the Cart
Xem trướcAdding Existing Products & Retrieving Cart Items
Xem trướcDeleting Related Items & Deleting Cart Products
Xem trướcAdding an Order Model
Xem trướcStoring Cartitems as Orderitems
Xem trướcResetting the Cart & Fetching and Outputting Orders
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is MongoDB?
Xem trướcRelations in NoSQL
Xem trướcSetting Up MongoDB
Xem trướcInstalling the MongoDB Driver
Xem trướcCreating the Database Connection
Xem trướcFinishing the Database Connection
Xem trướcUsing the Database Connection
Xem trướcCreating Products
Xem trướcUnderstanding the MongoDB Compass
Xem trướcFetching All Products
Xem trướcFetching a Single Product
Xem trướcMaking the "Edit" & "Delete" Buttons Work Again
Xem trướcWorking on the Product Model to Edit our Product
Xem trướcFinishing the "Update Product" Code
Xem trướcOne Note About Updating Products
Xem trướcDeleting Products
Xem trướcFixing the "Add Product" Functionality
Xem trướcCreating New Users
Xem trướcStoring the User in our Database
Xem trướcWorking on Cart Items & Orders
Xem trướcAdding the "Add to Cart" Functionality
Xem trướcStoring Multiple Products in the Cart
Xem trướcDisplaying the Cart Items
Xem trướcFixing a Bug
Xem trướcDeleting Cart Items
Xem trướcAdding an Order
Xem trướcAdding Relational Order Data
Xem trướcGetting Orders
Xem trướcRemoving Deleted Items From the Cart
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Two Adjustments (behind the scenes)
Module Introduction
Xem trướcWhat is MongoDB?
Xem trướcRelations in NoSQL
Xem trướcSetting Up MongoDB
Xem trướcInstalling the MongoDB Driver
Xem trướcCreating the Database Connection
Xem trướcFinishing the Database Connection
Xem trướcUsing the Database Connection
Xem trướcCreating Products
Xem trướcUnderstanding the MongoDB Compass
Xem trướcFetching All Products
Xem trướcFetching a Single Product
Xem trướcMaking the "Edit" & "Delete" Buttons Work Again
Xem trướcWorking on the Product Model to Edit our Product
Xem trướcFinishing the "Update Product" Code
Xem trướcOne Note About Updating Products
Xem trướcDeleting Products
Xem trướcFixing the "Add Product" Functionality
Xem trướcCreating New Users
Xem trướcStoring the User in our Database
Xem trướcWorking on Cart Items & Orders
Xem trướcAdding the "Add to Cart" Functionality
Xem trướcStoring Multiple Products in the Cart
Xem trướcDisplaying the Cart Items
Xem trướcFixing a Bug
Xem trướcDeleting Cart Items
Xem trướcAdding an Order
Xem trướcAdding Relational Order Data
Xem trướcGetting Orders
Xem trướcRemoving Deleted Items From the Cart
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is MongoDB?
Xem trướcRelations in NoSQL
Xem trướcSetting Up MongoDB
Xem trướcInstalling the MongoDB Driver
Xem trướcCreating the Database Connection
Xem trướcFinishing the Database Connection
Xem trướcUsing the Database Connection
Xem trướcCreating Products
Xem trướcUnderstanding the MongoDB Compass
Xem trướcFetching All Products
Xem trướcFetching a Single Product
Xem trướcMaking the "Edit" & "Delete" Buttons Work Again
Xem trướcWorking on the Product Model to Edit our Product
Xem trướcFinishing the "Update Product" Code
Xem trướcOne Note About Updating Products
Xem trướcDeleting Products
Xem trướcFixing the "Add Product" Functionality
Xem trướcCreating New Users
Xem trướcStoring the User in our Database
Xem trướcWorking on Cart Items & Orders
Xem trướcAdding the "Add to Cart" Functionality
Xem trướcStoring Multiple Products in the Cart
Xem trướcDisplaying the Cart Items
Xem trướcFixing a Bug
Xem trướcDeleting Cart Items
Xem trướcAdding an Order
Xem trướcAdding Relational Order Data
Xem trướcGetting Orders
Xem trướcRemoving Deleted Items From the Cart
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is Mongoose?
Xem trướcConnecting to the MongoDB Server with Mongoose
Xem trướcCreating the Product Schema
Xem trướcSaving Data Through Mongoose
Xem trướcFetching All Products
Xem trướcFetching a Single Product
Xem trướcUpdating Products
Xem trướcDeleting Products
Xem trướcAdding and Using a User Model
Xem trướcUsing Relations in Mongoose
Xem trướcOne Important Thing About Fetching Relations
Xem trướcWorking on the Shopping Cart
Xem trướcLoading the Cart
Xem trướcDeleting Cart Items
Xem trướcCreating & Getting Orders
Xem trướcStoring All Order Related Data
Xem trướcClearing the Cart After Storing an Order
Xem trướcGetting & Displaying the Orders
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcWhat is Mongoose?
Xem trướcConnecting to the MongoDB Server with Mongoose
Xem trướcCreating the Product Schema
Xem trướcSaving Data Through Mongoose
Xem trướcFetching All Products
Xem trướcFetching a Single Product
Xem trướcUpdating Products
Xem trướcDeleting Products
Xem trướcAdding and Using a User Model
Xem trướcUsing Relations in Mongoose
Xem trướcOne Important Thing About Fetching Relations
Xem trướcWorking on the Shopping Cart
Xem trướcLoading the Cart
Xem trướcDeleting Cart Items
Xem trướcCreating & Getting Orders
Xem trướcStoring All Order Related Data
Xem trướcClearing the Cart After Storing an Order
Xem trướcGetting & Displaying the Orders
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is Mongoose?
Xem trướcConnecting to the MongoDB Server with Mongoose
Xem trướcCreating the Product Schema
Xem trướcSaving Data Through Mongoose
Xem trướcFetching All Products
Xem trướcFetching a Single Product
Xem trướcUpdating Products
Xem trướcDeleting Products
Xem trướcAdding and Using a User Model
Xem trướcUsing Relations in Mongoose
Xem trướcOne Important Thing About Fetching Relations
Xem trướcWorking on the Shopping Cart
Xem trướcLoading the Cart
Xem trướcDeleting Cart Items
Xem trướcCreating & Getting Orders
Xem trướcStoring All Order Related Data
Xem trướcClearing the Cart After Storing an Order
Xem trướcGetting & Displaying the Orders
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is a Cookie?
Xem trướcThe Current Project Status
Xem trướcOptional: Creating the Login Form
Xem trướcAdding the Request Driven Login Solution
Xem trướcSetting a Cookie
Xem trướcManipulating Cookies
Xem trướcConfiguring Cookies
Xem trướcWhat is a Session?
Xem trướcInitializing the Session Middleware
Xem trướcUsing the Session Middleware
Xem trướcUsing MongoDB to Store Sessions
Xem trướcSessions & Cookies - A Short Summary
Xem trướcTime to Practice - Sessions and Cookies
444 Xem trướcDeleting a Cookie
Xem trướcFixing Some Minor Bugs
Xem trướcMaking "Add to Cart" Work Again
Xem trướcTwo Tiny Improvements
Xem trướcWrap Up
Xem trướcCode Adjustments
Useful Resources & Links
Module Introduction
Xem trướcWhat is a Cookie?
Xem trướcThe Current Project Status
Xem trướcOptional: Creating the Login Form
Xem trướcAdding the Request Driven Login Solution
Xem trướcSetting a Cookie
Xem trướcManipulating Cookies
Xem trướcConfiguring Cookies
Xem trướcWhat is a Session?
Xem trướcInitializing the Session Middleware
Xem trướcUsing the Session Middleware
Xem trướcUsing MongoDB to Store Sessions
Xem trướcSessions & Cookies - A Short Summary
Xem trướcDeleting a Cookie
Xem trướcFixing Some Minor Bugs
Xem trướcMaking "Add to Cart" Work Again
Xem trướcTwo Tiny Improvements
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is a Cookie?
Xem trướcThe Current Project Status
Xem trướcOptional: Creating the Login Form
Xem trướcAdding the Request Driven Login Solution
Xem trướcSetting a Cookie
Xem trướcManipulating Cookies
Xem trướcConfiguring Cookies
Xem trướcWhat is a Session?
Xem trướcInitializing the Session Middleware
Xem trướcUsing the Session Middleware
Xem trướcUsing MongoDB to Store Sessions
Xem trướcSessions & Cookies - A Short Summary
Xem trướcDeleting a Cookie
Xem trướcFixing Some Minor Bugs
Xem trướcMaking "Add to Cart" Work Again
Xem trướcTwo Tiny Improvements
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is Authentication?
Xem trướcHow is Authentication Implemented?
Xem trướcOur Updated Project Status
Xem trướcImplementing an Authentication Flow
Xem trướcEncrypting Passwords
Xem trướcAdding a Tiny Code Improvement
Xem trướcAdding the Signin Functionality
Xem trướcWorking on Route Protection
Xem trướcUsing Middleware to Protect Routes
Xem trướcUnderstanding CSRF Attacks
Xem trướcUsing a CSRF Token
Xem trướcAdding CSRF Protection
Xem trướcCsurf() Alternatives
Fixing the Order Button
Xem trướcProviding User Feedback
Xem trướcOptional: Styling Error Messages
Xem trướcFinishing the Flash Messages
Xem trướcAdding Additional Flash Messages
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcWhat is Authentication?
Xem trướcHow is Authentication Implemented?
Xem trướcOur Updated Project Status
Xem trướcImplementing an Authentication Flow
Xem trướcEncrypting Passwords
Xem trướcAdding a Tiny Code Improvement
Xem trướcAdding the Signin Functionality
Xem trướcWorking on Route Protection
Xem trướcUsing Middleware to Protect Routes
Xem trướcUnderstanding CSRF Attacks
Xem trướcUsing a CSRF Token
Xem trướcAdding CSRF Protection
Xem trướcFixing the Order Button
Xem trướcProviding User Feedback
Xem trướcOptional: Styling Error Messages
Xem trướcFinishing the Flash Messages
Xem trướcAdding Additional Flash Messages
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is Authentication?
Xem trướcHow is Authentication Implemented?
Xem trướcOur Updated Project Status
Xem trướcImplementing an Authentication Flow
Xem trướcEncrypting Passwords
Xem trướcAdding a Tiny Code Improvement
Xem trướcAdding the Signin Functionality
Xem trướcWorking on Route Protection
Xem trướcUsing Middleware to Protect Routes
Xem trướcUnderstanding CSRF Attacks
Xem trướcUsing a CSRF Token
Xem trướcAdding CSRF Protection
Xem trướcFixing the Order Button
Xem trướcProviding User Feedback
Xem trướcOptional: Styling Error Messages
Xem trướcFinishing the Flash Messages
Xem trướcAdding Additional Flash Messages
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcHow Does Sending Emails Work?
Xem trướcUsing SendGrid
Xem trướcUsing Nodemailer to Send an Email
Xem trướcPotential Limitation for Large Scale Apps
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcHow Does Sending Emails Work?
Xem trướcUsing SendGrid
Xem trướcUsing Nodemailer to Send an Email
Xem trướcPotential Limitation for Large Scale Apps
Xem trướcModule Introduction
Xem trướcHow Does Sending Emails Work?
Xem trướcUsing SendGrid
Xem trướcUsing Nodemailer to Send an Email
Xem trướcPotential Limitation for Large Scale Apps
Xem trướcModule Introduction
Xem trướcResetting Passwords
Xem trướcImplementing the Token Logic
Xem trướcCreating the Token
Xem trướcCreating the Reset Password Form
Xem trướcAdding Logic to Update the Password
Xem trướcWhy we Need Authorization
Xem trướcAdding Authorization
Xem trướcAdding Protection to Post Actions
Xem trướcWhy Editing Fails
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcResetting Passwords
Xem trướcImplementing the Token Logic
Xem trướcCreating the Token
Xem trướcCreating the Reset Password Form
Xem trướcAdding Logic to Update the Password
Xem trướcWhy we Need Authorization
Xem trướcAdding Authorization
Xem trướcAdding Protection to Post Actions
Xem trướcWhy Editing Fails
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcResetting Passwords
Xem trướcImplementing the Token Logic
Xem trướcCreating the Token
Xem trướcCreating the Reset Password Form
Xem trướcAdding Logic to Update the Password
Xem trướcWhy we Need Authorization
Xem trướcAdding Authorization
Xem trướcAdding Protection to Post Actions
Xem trướcWhy Editing Fails
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhy Should We Use Validation?
Xem trướcHow to Validate Input?
Xem trướcSetup & Basic Validation
Xem trướcUsing Validation Error Messages
Xem trướcBuilt-In & Custom Validators
Xem trướcMore Validators
Xem trướcChecking For Field Equality
Xem trướcAdding Async Validation
Xem trướcTime to Practice - Validation
285 Xem trướcKeeping User Input
Xem trướcAdding Conditional CSS Classes
Xem trướcAdding Validation to Login
Xem trướcSanitizing Data
Xem trướcValidating Product Addition
Xem trướcValidating Product Editing
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcWhy Should We Use Validation?
Xem trướcHow to Validate Input?
Xem trướcSetup & Basic Validation
Xem trướcUsing Validation Error Messages
Xem trướcBuilt-In & Custom Validators
Xem trướcMore Validators
Xem trướcChecking For Field Equality
Xem trướcAdding Async Validation
Xem trướcKeeping User Input
Xem trướcAdding Conditional CSS Classes
Xem trướcAdding Validation to Login
Xem trướcSanitizing Data
Xem trướcValidating Product Addition
Xem trướcValidating Product Editing
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhy Should We Use Validation?
Xem trướcHow to Validate Input?
Xem trướcSetup & Basic Validation
Xem trướcUsing Validation Error Messages
Xem trướcBuilt-In & Custom Validators
Xem trướcMore Validators
Xem trướcChecking For Field Equality
Xem trướcAdding Async Validation
Xem trướcKeeping User Input
Xem trướcAdding Conditional CSS Classes
Xem trướcAdding Validation to Login
Xem trướcSanitizing Data
Xem trướcValidating Product Addition
Xem trướcValidating Product Editing
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcTypes of Errors & Error Handling
Xem trướcAnalyzing the Error Handling in the Current Project
Xem trướcErrors - Some Theory
Xem trướcThrowing Errors in Code
Xem trướcReturning Error Pages
Xem trướcUsing the Express.js Error Handling Middleware
Xem trướcUpdating the App
Xem trướcUsing the Error Handling Middleware Correctly
Xem trướcStatus Codes
Xem trướcAvailable Status Codes
Wrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcTypes of Errors & Error Handling
Xem trướcAnalyzing the Error Handling in the Current Project
Xem trướcErrors - Some Theory
Xem trướcThrowing Errors in Code
Xem trướcReturning Error Pages
Xem trướcUsing the Express.js Error Handling Middleware
Xem trướcUpdating the App
Xem trướcUsing the Error Handling Middleware Correctly
Xem trướcStatus Codes
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcTypes of Errors & Error Handling
Xem trướcAnalyzing the Error Handling in the Current Project
Xem trướcErrors - Some Theory
Xem trướcThrowing Errors in Code
Xem trướcReturning Error Pages
Xem trướcUsing the Express.js Error Handling Middleware
Xem trướcUpdating the App
Xem trướcUsing the Error Handling Middleware Correctly
Xem trướcStatus Codes
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcAdding a File Picker to the Frontend
Xem trướcHandling Multipart Form Data
Xem trướcHandling File Uploads with Multer
Xem trướcConfiguring Multer to Adjust Filename & Filepath
Xem trướcFiltering Files by Mimetype
Xem trướcStoring File Data in the Database
Xem trướcRemove imageUrl from "Add Product"
Serving Images Statically
Xem trướcDownloading Files with Authentication
Xem trướcSetting File Type Headers
Xem trướcRestricting File Access
Xem trướcStreaming Data vs Preloading Data
Xem trướcUsing PDFKit for .pdf Generation
Xem trướcGenerating .pdf Files with Order Data
Xem trướcDeleting Files
Xem trướcFixing Invoice Links
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcAdding a File Picker to the Frontend
Xem trướcHandling Multipart Form Data
Xem trướcHandling File Uploads with Multer
Xem trướcConfiguring Multer to Adjust Filename & Filepath
Xem trướcFiltering Files by Mimetype
Xem trướcStoring File Data in the Database
Xem trướcServing Images Statically
Xem trướcDownloading Files with Authentication
Xem trướcSetting File Type Headers
Xem trướcRestricting File Access
Xem trướcStreaming Data vs Preloading Data
Xem trướcUsing PDFKit for .pdf Generation
Xem trướcGenerating .pdf Files with Order Data
Xem trướcDeleting Files
Xem trướcFixing Invoice Links
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcAdding a File Picker to the Frontend
Xem trướcHandling Multipart Form Data
Xem trướcHandling File Uploads with Multer
Xem trướcConfiguring Multer to Adjust Filename & Filepath
Xem trướcFiltering Files by Mimetype
Xem trướcStoring File Data in the Database
Xem trướcServing Images Statically
Xem trướcDownloading Files with Authentication
Xem trướcSetting File Type Headers
Xem trướcRestricting File Access
Xem trướcStreaming Data vs Preloading Data
Xem trướcUsing PDFKit for .pdf Generation
Xem trướcGenerating .pdf Files with Order Data
Xem trướcDeleting Files
Xem trướcFixing Invoice Links
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Xem trướcModule Introduction
Xem trướcAdding Pagination Links
Xem trướcRetrieving a Chunk of Data
Xem trướcSkip & Limit with SQL
Preparing Pagination Data on the Server
Xem trướcAdding Dynamic Pagination Buttons
Xem trướcRe-Using the Pagination Logic & Controls
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcAdding Pagination Links
Xem trướcRetrieving a Chunk of Data
Xem trướcPreparing Pagination Data on the Server
Xem trướcAdding Dynamic Pagination Buttons
Xem trướcRe-Using the Pagination Logic & Controls
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcAdding Pagination Links
Xem trướcRetrieving a Chunk of Data
Xem trướcPreparing Pagination Data on the Server
Xem trướcAdding Dynamic Pagination Buttons
Xem trướcRe-Using the Pagination Logic & Controls
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat are Async Requests?
Xem trướcAdding Client Side JS Code
Xem trướcThe JSON Data Format
Sending & Handling Background Requests
Xem trướcManipulating the DOM
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcWhat are Async Requests?
Xem trướcAdding Client Side JS Code
Xem trướcSending & Handling Background Requests
Xem trướcManipulating the DOM
Xem trướcModule Introduction
Xem trướcWhat are Async Requests?
Xem trướcAdding Client Side JS Code
Xem trướcSending & Handling Background Requests
Xem trướcManipulating the DOM
Xem trướcModule Introduction
Xem trướcHow Payments Work
Xem trướcAdding a Checkout Page
Xem trướcUsing Stripe in Your App
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcHow Payments Work
Xem trướcAdding a Checkout Page
Xem trướcUsing Stripe in Your App
Xem trướcModule Introduction
Xem trướcHow Payments Work
Xem trướcAdding a Checkout Page
Xem trướcUsing Stripe in Your App
Xem trướcModule Introduction
Xem trướcWhat are REST APIs and why do we use Them?
Xem trướcAccessing Data with REST APIs
Xem trướcUnderstanding Routing & HTTP Methods
Xem trướcREST APIs - The Core Principles
Xem trướcCreating our REST API Project & Implementing the Route Setup
Xem trướcSending Requests & Responses and Working with Postman
Xem trướcREST APIs, Clients & CORS Errors
Xem trướcSending POST Requests
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcWhat are REST APIs and why do we use Them?
Xem trướcAccessing Data with REST APIs
Xem trướcUnderstanding Routing & HTTP Methods
Xem trướcREST APIs - The Core Principles
Xem trướcCreating our REST API Project & Implementing the Route Setup
Xem trướcSending Requests & Responses and Working with Postman
Xem trướcREST APIs, Clients & CORS Errors
Xem trướcSending POST Requests
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat are REST APIs and why do we use Them?
Xem trướcAccessing Data with REST APIs
Xem trướcUnderstanding Routing & HTTP Methods
Xem trướcREST APIs - The Core Principles
Xem trướcCreating our REST API Project & Implementing the Route Setup
Xem trướcSending Requests & Responses and Working with Postman
Xem trướcREST APIs, Clients & CORS Errors
Xem trướcSending POST Requests
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcREST APIs & The Rest Of The Course
Xem trướcUnderstanding the Frontend Setup
Xem trướcPlanning the API
Xem trướcFetching Lists of Posts
Xem trướcAdding a Create Post Endpoint
Xem trướcAdding Server Side Validation
Xem trướcSetting Up a Post Model
Xem trướcStoring Posts in the Database
Xem trướcStatic Images & Error Handling
Xem trướcFetching a Single Post
Xem trướcImage Names & Windows
Uploading Images
Xem trướcUpdating Posts
Xem trướcDeleting Posts
Xem trướcAdding Pagination
Xem trướcAdding a User Model
Xem trướcAdding User Signup Validation
Xem trướcSigning Users Up
Xem trướcHow Does Authentication Work?
Xem trướcStarting with User Login
Xem trướcLogging In & Creating JSON Web Tokens (JWTs)
Xem trướcUsing & Validating the Token
Xem trướcAdding Auth Middleware to All Routes
Xem trướcConnecting Posts & Users
Xem trướcAdding Authorization Checks
Xem trướcClearing Post-User Relations
Xem trướcTime to Practice - Working with REST APIs
496 Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcREST APIs & The Rest Of The Course
Xem trướcUnderstanding the Frontend Setup
Xem trướcPlanning the API
Xem trướcFetching Lists of Posts
Xem trướcAdding a Create Post Endpoint
Xem trướcAdding Server Side Validation
Xem trướcSetting Up a Post Model
Xem trướcStoring Posts in the Database
Xem trướcStatic Images & Error Handling
Xem trướcFetching a Single Post
Xem trướcUploading Images
Xem trướcUpdating Posts
Xem trướcDeleting Posts
Xem trướcAdding Pagination
Xem trướcAdding a User Model
Xem trướcAdding User Signup Validation
Xem trướcSigning Users Up
Xem trướcHow Does Authentication Work?
Xem trướcStarting with User Login
Xem trướcLogging In & Creating JSON Web Tokens (JWTs)
Xem trướcUsing & Validating the Token
Xem trướcAdding Auth Middleware to All Routes
Xem trướcConnecting Posts & Users
Xem trướcAdding Authorization Checks
Xem trướcClearing Post-User Relations
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcREST APIs & The Rest Of The Course
Xem trướcUnderstanding the Frontend Setup
Xem trướcPlanning the API
Xem trướcFetching Lists of Posts
Xem trướcAdding a Create Post Endpoint
Xem trướcAdding Server Side Validation
Xem trướcSetting Up a Post Model
Xem trướcStoring Posts in the Database
Xem trướcStatic Images & Error Handling
Xem trướcFetching a Single Post
Xem trướcUploading Images
Xem trướcUpdating Posts
Xem trướcDeleting Posts
Xem trướcAdding Pagination
Xem trướcAdding a User Model
Xem trướcAdding User Signup Validation
Xem trướcSigning Users Up
Xem trướcHow Does Authentication Work?
Xem trướcStarting with User Login
Xem trướcLogging In & Creating JSON Web Tokens (JWTs)
Xem trướcUsing & Validating the Token
Xem trướcAdding Auth Middleware to All Routes
Xem trướcConnecting Posts & Users
Xem trướcAdding Authorization Checks
Xem trướcClearing Post-User Relations
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is Async Await All About?
Xem trướcTransforming "Then Catch" to "Async Await"
Xem trướcTop-level "await"
Xem trướcTime to Practice - Async Await
596 Xem trướcThe User Name is Missing!
Wrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcWhat is Async Await All About?
Xem trướcTransforming "Then Catch" to "Async Await"
Xem trướcTop-level "await"
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is Async Await All About?
Xem trướcTransforming "Then Catch" to "Async Await"
Xem trướcTop-level "await"
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat Are Websockets & Why Would You Use Them?
Xem trướcWebsocket Solutions - An Overview
Xem trướcSetting Up Socket.io on the Server
Xem trướcEstablishing a Connection From the Client
Xem trướcIdentifying Realtime Potential
Xem trướcSharing the IO Instance Across Files
Xem trướcSynchronizing POST Additions
Xem trướcFixing a Bug - The Missing Username
Xem trướcUpdating Posts On All Connected Clients
Xem trướcSorting Correctly
Xem trướcDeleting Posts Across Clients
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcWhat Are Websockets & Why Would You Use Them?
Xem trướcWebsocket Solutions - An Overview
Xem trướcSetting Up Socket.io on the Server
Xem trướcEstablishing a Connection From the Client
Xem trướcIdentifying Realtime Potential
Xem trướcSharing the IO Instance Across Files
Xem trướcSynchronizing POST Additions
Xem trướcFixing a Bug - The Missing Username
Xem trướcUpdating Posts On All Connected Clients
Xem trướcSorting Correctly
Xem trướcDeleting Posts Across Clients
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat Are Websockets & Why Would You Use Them?
Xem trướcWebsocket Solutions - An Overview
Xem trướcSetting Up Socket.io on the Server
Xem trướcEstablishing a Connection From the Client
Xem trướcIdentifying Realtime Potential
Xem trướcSharing the IO Instance Across Files
Xem trướcSynchronizing POST Additions
Xem trướcFixing a Bug - The Missing Username
Xem trướcUpdating Posts On All Connected Clients
Xem trướcSorting Correctly
Xem trướcDeleting Posts Across Clients
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is GraphQL?
Xem trướcUnderstanding the Setup & Writing our First Query
Xem trướcDefining a Mutation Schema
Xem trướcAdding a Mutation Resolver & GraphiQL
Xem trướcAdding Input Validation
Xem trướcHandling Errors
Xem trướcConnecting the Frontend to the GraphQL API
Xem trướcAdding a Login Query & a Resolver
Xem trướcAdding Login Functionality
Xem trướcAdding a Create Post Mutation
Xem trướcExtracting User Data From the Auth Token
Xem trướcSending the "Create Post" Query
Xem trướcFixing a Bug & Adding New Posts Correctly
Xem trướcAdding a "Get Post" Query & Resolver
Xem trướcSending "Create Post" and "Get Post" Queries
Xem trướcAdding Pagination
Xem trướcUploading Images
Xem trướcFetching the imageUrl
Viewing a Single Post
Xem trướcUpdating Posts
Xem trướcDeleting Posts
Xem trướcAdding Posts & Pagination
Managing the User Status
Xem trướcUsing Variables
Xem trướcFixing a Pagination Bug
Xem trướcWrap Up
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcWhat is GraphQL?
Xem trướcUnderstanding the Setup & Writing our First Query
Xem trướcDefining a Mutation Schema
Xem trướcAdding a Mutation Resolver & GraphiQL
Xem trướcAdding Input Validation
Xem trướcHandling Errors
Xem trướcConnecting the Frontend to the GraphQL API
Xem trướcAdding a Login Query & a Resolver
Xem trướcAdding Login Functionality
Xem trướcAdding a Create Post Mutation
Xem trướcExtracting User Data From the Auth Token
Xem trướcSending the "Create Post" Query
Xem trướcFixing a Bug & Adding New Posts Correctly
Xem trướcAdding a "Get Post" Query & Resolver
Xem trướcSending "Create Post" and "Get Post" Queries
Xem trướcAdding Pagination
Xem trướcUploading Images
Xem trướcViewing a Single Post
Xem trướcUpdating Posts
Xem trướcDeleting Posts
Xem trướcManaging the User Status
Xem trướcUsing Variables
Xem trướcFixing a Pagination Bug
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcWhat is GraphQL?
Xem trướcUnderstanding the Setup & Writing our First Query
Xem trướcDefining a Mutation Schema
Xem trướcAdding a Mutation Resolver & GraphiQL
Xem trướcAdding Input Validation
Xem trướcHandling Errors
Xem trướcConnecting the Frontend to the GraphQL API
Xem trướcAdding a Login Query & a Resolver
Xem trướcAdding Login Functionality
Xem trướcAdding a Create Post Mutation
Xem trướcExtracting User Data From the Auth Token
Xem trướcSending the "Create Post" Query
Xem trướcFixing a Bug & Adding New Posts Correctly
Xem trướcAdding a "Get Post" Query & Resolver
Xem trướcSending "Create Post" and "Get Post" Queries
Xem trướcAdding Pagination
Xem trướcUploading Images
Xem trướcViewing a Single Post
Xem trướcUpdating Posts
Xem trướcDeleting Posts
Xem trướcManaging the User Status
Xem trướcUsing Variables
Xem trướcFixing a Pagination Bug
Xem trướcWrap Up
Xem trướcModule Introduction
Xem trướcDeploying Different Kinds of Apps
Xem trướcDeployment Preparations
Xem trướcUsing Environment Variables
Xem trướcUsing Production API Keys
Xem trướcSetting Secure Response Headers with Helmet
Xem trướcCompressing Assets
Xem trướcSetting Up Request Logging
Xem trướcMore on Logging
Setting Up a SSL Server
Xem trướcUsing a Hosting Provider
Xem trướcUnderstanding the Project & the Git Setup
Xem trướcA Deployment Example with Heroku
Xem trướcStoring User-generated Files on Heroku
Deploying APIs
Xem trướcUseful Resources & Links
Module Introduction
Xem trướcDeploying Different Kinds of Apps
Xem trướcDeployment Preparations
Xem trướcUsing Environment Variables
Xem trướcUsing Production API Keys
Xem trướcSetting Secure Response Headers with Helmet
Xem trướcCompressing Assets
Xem trướcSetting Up Request Logging
Xem trướcSetting Up a SSL Server
Xem trướcUsing a Hosting Provider
Xem trướcUnderstanding the Project & the Git Setup
Xem trướcA Deployment Example with Heroku
Xem trướcDeploying APIs
Xem trướcModule Introduction
Xem trướcDeploying Different Kinds of Apps
Xem trướcDeployment Preparations
Xem trướcUsing Environment Variables
Xem trướcUsing Production API Keys
Xem trướcSetting Secure Response Headers with Helmet
Xem trướcCompressing Assets
Xem trướcSetting Up Request Logging
Xem trướcSetting Up a SSL Server
Xem trướcUsing a Hosting Provider
Xem trướcUnderstanding the Project & the Git Setup
Xem trướcA Deployment Example with Heroku
Xem trướcDeploying APIs
Xem trướcModule 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
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
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
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
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
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
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
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!
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
1.0
1 Học viên
190 Khóa học
1252 Đánh giá
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!
Xem chi tiết