[Last updated 5/2024] NodeJS – The Complete Guide (MVC, REST APIs, GraphQL, Deno) (Udemy – Vietsub and Engsub)
About Course
Views
:
What you’ll learn:
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
Get a thorough introduction to DenoJS
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
Time video:
40.5 hours (543 Lessons + Documents)
Teacher:
Maximilian Schwarzmüller
Total weight:
17.99 GB
Original link:
https://www.udemy.com/course/nodejs-the-complete-guide/
+ Nếu các bạn xem online gặp tình trạng “Không thể phát video do quá tải” (Google Drive) thì các bạn nên tải về nhé. Lưu ý nên tải từng thư mục nhé hoặc 1-5 thư mục cùng lúc (lúc đó google drive sẽ nén file và tự động tải xuống). Không nên tải thư mục cha vì file nặng google sẽ nén thiếu nhé.
Course Content
28 – Working with GraphQL
-
013 Sending the Create Post Query.mp4
04:46 -
027 Wrap Up.mp4
03:36 -
026 Fixing a Pagination Bug.mp4
02:48 -
025 Using Variables.mp4
16:06 -
024 Managing the User Status.mp4
09:17 -
022 Deleting Posts.mp4
09:25 -
021 Updating Posts.mp4
09:32 -
020 Viewing a Single Post.mp4
06:06 -
018 Uploading Images.mp4
10:26 -
017 Adding Pagination.mp4
04:28 -
016 Sending Create Post and Get Post Queries.mp4
05:13 -
015 Adding a Get Post Query & Resolver.mp4
04:53 -
014 Fixing a Bug & Adding New Posts Correctly.mp4
02:53 -
001 Module Introduction.mp4
00:57 -
012 Extracting User Data From the Auth Token.mp4
05:48 -
011 Adding a Create Post Mutation.mp4
07:23 -
010 Adding Login Functionality.mp4
04:57 -
009 Adding a Login Query & a Resolver.mp4
06:20 -
008 Connecting the Frontend to the GraphQL API.mp4
06:49 -
007 Handling Errors.mp4
03:45 -
006 Adding Input Validation.mp4
04:19 -
005 Adding a Mutation Resolver & GraphiQL.mp4
09:42 -
004 Defining a Mutation Schema.mp4
05:42 -
003 Understanding the Setup & Writing our First Query.mp4
11:15 -
002 What is GraphQL.mp4
09:17
20 – File Upload & Download
-
010 Downloading Files with Authentication.mp4
07:33 -
018 Wrap Up.mp4
01:31 -
017 Fixing Invoice Links.mp4
00:35 -
016 Deleting Files.mp4
05:57 -
015 Generating .pdf Files with Order Data.mp4
06:50 -
014 Using PDFKit for .pdf Generation.mp4
05:31 -
013 Streaming Data vs Preloading Data.mp4
03:20 -
012 Restricting File Access.mp4
03:19 -
011 Setting File Type Headers.mp4
02:35 -
001 Module Introduction.mp4
00:54 -
009 Serving Images Statically.mp4
04:25 -
007 Storing File Data in the Database.mp4
07:42 -
006 Filtering Files by Mimetype.mp4
02:28 -
005 Configuring Multer to Adjust Filename & Filepath.mp4
04:29 -
004 Handling File Uploads with Multer.mp4
04:51 -
003 Handling Multipart Form Data.mp4
05:15 -
002 Adding a File Picker to the Frontend.mp4
03:06
21 – Adding Pagination
-
001 Module Introduction.mp4
00:48 -
002 Adding Pagination Links.mp4
04:08 -
003 Retrieving a Chunk of Data.mp4
03:47 -
005 Preparing Pagination Data on the Server.mp4
03:52 -
006 Adding Dynamic Pagination Buttons.mp4
08:07 -
007 Re-Using the Pagination Logic & Controls.mp4
03:40 -
008 Wrap Up.mp4
01:02
22 – Understanding Async Requests
-
001 Module Introduction.mp4
00:48 -
002 What are Async Requests.mp4
02:07 -
003 Adding Client Side JS Code.mp4
07:24 -
005 Sending & Handling Background Requests.mp4
09:25 -
006 Manipulating the DOM.mp4
03:01
23 – Adding Payments
-
001 Module Introduction.mp4
00:58 -
002 How Payments Work.mp4
02:04 -
003 Adding a Checkout Page.mp4
06:00 -
004 Using Stripe in Your App.mp4
19:23
24 – Working with REST APIs – The Basics
-
001 Module Introduction.mp4
01:25 -
002 What are REST APIs and why do we use Them.mp4
07:01 -
003 Accessing Data with REST APIs.mp4
05:41 -
004 Understanding Routing & HTTP Methods.mp4
05:25 -
005 REST APIs – The Core Principles.mp4
04:09 -
006 Creating our REST API Project & Implementing the Route Setup.mp4
06:41 -
007 Sending Requests & Responses and Working with Postman.mp4
13:28 -
008 REST APIs, Clients & CORS Errors.mp4
10:33 -
009 Sending POST Requests.mp4
06:32 -
010 Wrap Up.mp4
02:14
25 – Working with REST APIs – The Practical Application
-
015 Deleting Posts.mp4
04:16 -
028 Wrap Up.mp4
02:28 -
027 Clearing Post-User Relations.mp4
02:54 -
026 Adding Authorization Checks.mp4
03:50 -
025 Connecting Posts & Users.mp4
06:13 -
024 Adding Auth Middleware to All Routes.mp4
01:52 -
023 Using & Validating the Token.mp4
09:43 -
022 Logging In & Creating JSON Web Tokens (JWTs).mp4
07:53 -
021 Starting with User Login.mp4
03:51 -
020 How Does Authentication Work.mp4
03:10 -
019 Signing Users Up.mp4
07:24 -
018 Adding User Signup Validation.mp4
06:28 -
017 Adding a User Model.mp4
04:08 -
016 Adding Pagination.mp4
06:20 -
001 Module Introduction.mp4
01:09 -
014 Updating Posts.mp4
14:02 -
013 Uploading Images.mp4
08:56 -
011 Fetching a Single Post.mp4
07:48 -
010 Static Images & Error Handling.mp4
06:53 -
009 Storing Posts in the Database.mp4
03:31 -
008 Setting Up a Post Model.mp4
05:14 -
007 Adding Server Side Validation.mp4
06:19 -
006 Adding a Create Post Endpoint.mp4
07:36 -
005 Fetching Lists of Posts.mp4
06:19 -
004 Planning the API.mp4
03:02 -
003 Understanding the Frontend Setup.mp4
04:17 -
002 REST APIs & The Rest Of The Course.mp4
03:59
26 – Understanding Async Await in Node.js
-
001 Module Introduction.mp4
00:58 -
002 What is Async Await All About.mp4
04:08 -
003 Transforming Then Catch to Async Await.mp4
04:26 -
004 Top-level await.mp4
01:18 -
006 Wrap Up.mp4
03:03
27 – Understanding Websockets & Socket.io
-
001 Module Introduction.mp4
00:55 -
002 What Are Websockets & Why Would You Use Them.mp4
04:17 -
003 Websocket Solutions – An Overview.mp4
01:35 -
004 Setting Up Socket.io on the Server.mp4
03:56 -
005 Establishing a Connection From the Client.mp4
02:27 -
006 Identifying Realtime Potential.mp4
02:42 -
007 Sharing the IO Instance Across Files.mp4
02:46 -
008 Synchronizing POST Additions.mp4
07:14 -
009 Fixing a Bug – The Missing Username.mp4
01:44 -
010 Updating Posts On All Connected Clients.mp4
03:58 -
011 Sorting Correctly.mp4
00:59 -
012 Deleting Posts Across Clients.mp4
02:31 -
013 Wrap Up.mp4
01:48
19 – Error Handling
-
001 Module Introduction.mp4
00:44 -
002 Types of Errors & Error Handling.mp4
05:14 -
003 Analyzing the Error Handling in the Current Project.mp4
02:22 -
004 Errors – Some Theory.mp4
06:43 -
005 Throwing Errors in Code.mp4
02:42 -
006 Returning Error Pages.mp4
06:54 -
007 Using the Express.js Error Handling Middleware.mp4
05:47 -
008 Updating the App.mp4
03:09 -
009 Using the Error Handling Middleware Correctly.mp4
04:54 -
010 Status Codes.mp4
05:57 -
012 Wrap Up.mp4
02:21
29 – Deploying our App
-
001 Module Introduction.mp4
01:16 -
002 Deploying Different Kinds of Apps.mp4
01:39 -
003 Deployment Preparations.mp4
04:52 -
004 Using Environment Variables.mp4
11:12 -
005 Using Production API Keys.mp4
01:19 -
006 Setting Secure Response Headers with Helmet.mp4
02:40 -
007 Compressing Assets.mp4
02:33 -
008 Setting Up Request Logging.mp4
03:34 -
010 Setting Up a SSL Server.mp4
09:55 -
011 Using a Hosting Provider.mp4
04:25 -
012 Understanding the Project & the Git Setup.mp4
04:03 -
013 A Deployment Example with Heroku.mp4
10:25 -
015 Deploying APIs.mp4
02:52
30 – Testing Node.js Applications
-
001 Module Introduction.mp4
00:43 -
002 What is Testing.mp4
02:42 -
003 Why & How.mp4
03:25 -
004 Setup and Writing a First Test.mp4
09:40 -
005 Testing the Auth Middleware.mp4
12:33 -
006 Organizing Multiple Tests.mp4
04:12 -
007 What Not To Test!.mp4
08:02 -
008 Using Stubs.mp4
08:38 -
009 Testing Controllers.mp4
08:03 -
010 Testing Asynchronous Code.mp4
05:53 -
011 Setting up a Testing Database.mp4
06:33 -
012 Testing Code With An Active Database.mp4
06:33 -
013 Cleaning Up.mp4
03:28 -
014 Hooks.mp4
04:34 -
015 Testing Code That Requires Authentication.mp4
12:37 -
016 Wrap Up & Mastering Tests.mp4
04:22
31 – Node.js as a Build Tool & Using npm
-
001 Module Introduction.mp4
01:01 -
002 npm & Node.js.mp4
01:42 -
003 Using npm.mp4
07:52 -
005 What is a Build Tool.mp4
05:01 -
006 Using Node.js in Build Processes.mp4
05:50
32 – Modern JavaScript & NodeJS
-
001 Module Introduction.mp4
02:28 -
002 What is this Module About.mp4
02:19 -
003 Working with ES Modules & Node.mp4
09:32 -
004 More on ES Modules.mp4
06:26 -
005 Node Core Modules & Promises.mp4
05:18
33 – NodeJS & TypeScript
-
011 A First Summary.mp4
00:34 -
020 Wrap Up.mp4
02:50 -
019 Moving to a Better Project Structure.mp4
03:44 -
018 Using Type Casting.mp4
04:21 -
017 Testing the API.mp4
04:52 -
016 Finishing the REST Routes.mp4
05:53 -
015 Adding REST Routes with TypeScript.mp4
06:42 -
014 Writing TypeScript Express.js Code.mp4
03:59 -
013 Getting Started with Node and TypeScript.mp4
09:31 -
012 Node & TypeScript Setup.mp4
02:14 -
001 Module Introduction.mp4
01:22 -
010 Understanding Generics.mp4
05:09 -
009 Working with Type Aliases & Interfaces.mp4
03:22 -
008 Using Object & Array Types.mp4
06:17 -
007 Working with Union Types.mp4
04:23 -
006 Configuring TypeScript.mp4
05:01 -
005 Type Inference & Type Casting.mp4
06:10 -
004 Assigning Types.mp4
03:29 -
003 TypeScript Setup.mp4
04:09 -
002 TypeScript What & Why.mp4
06:02
34 – An Introduction to Deno
-
001 Module Introduction.mp4
01:35 -
002 What is Deno.mp4
03:08 -
003 Why Deno.mp4
01:55 -
004 Deno Setup.mp4
05:50 -
005 Writing First Deno Code.mp4
04:18 -
006 The Deno Runtime (Namespace) API.mp4
03:13 -
007 Using the Runtime API.mp4
05:26 -
008 Working with Deno Permissions.mp4
04:31 -
009 Repeating the Example with Node.mp4
04:16 -
010 How Deno Features Are Organized.mp4
04:28 -
011 Using the Standard Library.mp4
08:30 -
012 Creating a Webserver.mp4
02:54 -
013 Using the Oak Framework with Deno.mp4
09:48 -
015 An Example Node REST API.mp4
12:15 -
016 Re-building the REST API with Deno.mp4
16:18 -
017 Should You Switch From Node to Deno.mp4
05:04
35 – Deno, CRUD & Databases (MongoDB)
-
001 Module Introduction.mp4
01:00 -
002 App Setup.mp4
04:06 -
003 Handling CORS Errors.mp4
07:16 -
004 Connecting Deno to MongoDB.mp4
08:05 -
005 Using the MongoDB Client Module.mp4
10:34 -
006 Finishing the Deno MongoDB CRUD Operations.mp4
05:29 -
007 Wrap Up.mp4
01:10
36 – Roundup
-
001 Course Roundup.mp4
02:40
10 – SQL Introduction
-
001 Module Introduction.mp4
01:33 -
002 Choosing a Database.mp4
04:17 -
003 NoSQL Introduction.mp4
04:20 -
004 Comparing SQL and NoSQL.mp4
05:06 -
005 Setting Up MySQL.mp4
07:16 -
006 Connecting our App to the SQL Database.mp4
06:50 -
007 Basic SQL & Creating a Table.mp4
04:07 -
008 Retrieving Data.mp4
03:00 -
009 Fetching Products.mp4
06:30 -
010 Fetching Products – Time to Practice.mp4
01:04 -
011 Inserting Data Into the Database.mp4
04:12 -
012 Fetching a Single Product with the where Condition.mp4
02:57 -
013 Wrap Up.mp4
01:24
02 – Optional JavaScript – A Quick Refresher
-
001 Module Introduction.mp4
01:38 -
002 JavaScript in a Nutshell.mp4
02:38 -
003 Refreshing the Core Syntax.mp4
04:37 -
004 let & const.mp4
02:29 -
005 Understanding Arrow Functions.mp4
05:21 -
006 Working with Objects, Properties & Methods.mp4
03:23 -
007 Arrays & Array Methods.mp4
04:19 -
008 Arrays, Objects & Reference Types.mp4
02:16 -
009 Understanding Spread & Rest Operators.mp4
06:46 -
010 Destructuring.mp4
05:40 -
011 Async Code & Promises.mp4
10:33 -
013 Wrap Up.mp4
00:51
03 – Understanding the Basics
-
001 Module Introduction.mp4
01:50 -
002 How The Web Works.mp4
04:11 -
003 Creating a Node Server.mp4
13:22 -
004 The Node Lifecycle & Event Loop.mp4
04:53 -
006 Understanding Requests.mp4
03:10 -
007 Sending Responses.mp4
05:37 -
009 Routing Requests.mp4
05:47 -
010 Redirecting Requests.mp4
04:10 -
011 Parsing Request Bodies.mp4
11:12 -
012 Understanding Event Driven Code Execution.mp4
06:00 -
013 Blocking and Non-Blocking Code.mp4
05:03 -
014 Node.js – Looking Behind the Scenes.mp4
12:01 -
015 Using the Node Modules System.mp4
10:05 -
016 Wrap Up.mp4
05:15
04 – Improved Development Workflow and Debugging
-
001 Module Introduction.mp4
00:39 -
002 Understanding NPM Scripts.mp4
07:03 -
003 Installing 3rd Party Packages.mp4
08:20 -
005 Using Nodemon for Autorestarts.mp4
01:36 -
007 Understanding different Error Types.mp4
01:49 -
008 Finding & Fixing Syntax Errors.mp4
03:10 -
009 Dealing with Runtime Errors.mp4
02:47 -
010 Logical Errors.mp4
06:32 -
011 Using the Debugger.mp4
03:10 -
012 Restarting the Debugger Automatically After Editing our App.mp4
06:21 -
014 Changing Variables in the Debug Console.mp4
01:26 -
015 Wrap Up.mp4
03:14
05 – Working with Express.js
-
010 Using Express Router.mp4
08:04 -
020 Wrap Up.mp4
03:36 -
019 Serving Files Statically.mp4
07:49 -
018 Styling our Pages.mp4
13:58 -
017 Using a Helper Function for Navigation.mp4
03:37 -
015 Returning a 404 Page.mp4
02:00 -
014 Serving HTML Pages.mp4
07:19 -
013 Creating HTML Pages.mp4
05:09 -
012 Filtering Paths.mp4
03:38 -
011 Adding a 404 Error Page.mp4
02:30 -
001 Module Introduction.mp4
02:14 -
009 Limiting Middleware Execution to POST Requests.mp4
01:48 -
008 Parsing Incoming Requests.mp4
08:00 -
007 Handling Different Routes.mp4
04:59 -
006 Express.js – Looking Behind the Scenes.mp4
03:42 -
005 How Middleware Works.mp4
02:58 -
004 Adding Middleware.mp4
05:13 -
003 Installing Express.js.mp4
03:47 -
002 What is Express.js.mp4
03:43
06 – Working with Dynamic Content & Adding Templating Engines
-
001 Module Introduction.mp4
02:31 -
002 Sharing Data Across Requests & Users.mp4
08:05 -
003 Templating Engines – An Overview.mp4
04:40 -
004 Installing & Implementing Pug.mp4
11:04 -
005 Outputting Dynamic Content.mp4
11:02 -
007 Converting HTML Files to Pug.mp4
05:55 -
008 Adding a Layout.mp4
05:35 -
009 Finishing the Pug Template.mp4
05:50 -
011 Working with Handlebars.mp4
05:08 -
012 Converting our Project to Handlebars.mp4
07:41 -
013 Adding the Layout to Handlebars.mp4
08:41 -
014 Working with EJS.mp4
08:19 -
015 Working on the Layout with Partials.mp4
09:33 -
016 Wrap Up.mp4
03:46 -
017 [OPTIONAL] Assignment Solution.mp4
25:02
07 – The Model View Controller (MVC)
-
001 Module Introduction.mp4
00:52 -
002 What is the MVC.mp4
02:48 -
003 Adding Controllers.mp4
09:20 -
004 Finishing the Controllers.mp4
02:37 -
005 Adding a Product Model.mp4
08:05 -
006 Storing Data in Files Via the Model.mp4
09:39 -
007 Fetching Data from Files Via the Model.mp4
03:55 -
008 Refactoring the File Storage Code.mp4
04:25 -
009 Wrap Up.mp4
02:15
08 – Optional Enhancing the App
-
001 Module Introduction.mp4
01:21 -
002 Creating the Shop Structure.mp4
05:34 -
003 Working on the Navigation.mp4
02:49 -
004 Registering the Routes.mp4
11:04 -
005 Storing Product Data.mp4
05:15 -
006 Displaying Product Data.mp4
03:02 -
007 Editing & Deleting Products.mp4
04:47 -
008 Adding Another Item.mp4
02:08
09 – Dynamic Routes & Advanced Models
-
011 Pre-Populating the Edit Product Page with Data.mp4
06:46 -
019 Wrap Up.mp4
01:46 -
018 Fixing a Delete Product Bug.mp4
01:31 -
017 Deleting Cart Items.mp4
05:24 -
016 Displaying Cart Items on the Cart Page.mp4
08:45 -
015 Deleting Cart Items.mp4
08:11 -
014 Adding the Product-Delete Functionality.mp4
05:34 -
013 Editing the Product Data.mp4
08:58 -
012 Linking to the Edit Page.mp4
02:20 -
001 Module Introduction.mp4
01:07 -
010 Using Query Params.mp4
07:54 -
009 Adding a Cart Model.mp4
12:29 -
008 Passing Data with POST Requests.mp4
07:19 -
007 Rendering the Product Detail View.mp4
05:26 -
006 Loading Product Detail Data.mp4
04:52 -
005 Extracting Dynamic Params.mp4
04:32 -
004 Adding the Product ID to the Path.mp4
04:34 -
002 Preparations.mp4
01:23
01 – Introduction
-
01:56
-
04:42
-
004 Installing Node.js and Creating our First App.mp4
09:39 -
005 Understanding the Role & Usage of Node.js.mp4
07:32 -
006 Course Outline.mp4
08:03 -
007 How To Get The Most Out Of The Course.mp4
03:54 -
008 Working with the REPL vs Using Files.mp4
02:58
11 – Understanding Sequelize
-
014 Adding a One-To-Many Relationship.mp4
05:54 -
026 Wrap Up.mp4
01:49 -
025 Resetting the Cart & Fetching and Outputting Orders.mp4
09:53 -
024 Storing Cartitems as Orderitems.mp4
08:19 -
023 Adding an Order Model.mp4
04:19 -
022 Deleting Related Items & Deleting Cart Products.mp4
02:24 -
021 Adding Existing Products & Retrieving Cart Items.mp4
04:54 -
020 Adding New Products to the Cart.mp4
06:42 -
019 Creating & Fetching a Cart.mp4
05:45 -
018 One-To-Many & Many-To-Many Relations.mp4
06:03 -
017 Fetching Related Products.mp4
02:46 -
016 Using Magic Association Methods.mp4
03:42 -
015 Creating & Managing a Dummy User.mp4
06:01 -
001 Module Introduction.mp4
01:26 -
013 Creating a User Model.mp4
02:48 -
012 Deleting Products.mp4
02:48 -
011 Updating Products.mp4
05:18 -
010 Fetching Admin Products.mp4
01:25 -
009 Getting a Single Product with the where Condition.mp4
04:30 -
008 Retrieving Data & Finding Products.mp4
03:00 -
006 Inserting Data & Creating a Product.mp4
04:49 -
005 Syncing JS Definitions to the Database.mp4
04:29 -
004 Defining a Model.mp4
05:47 -
003 Connecting to the Database.mp4
03:57 -
002 What is Sequelize.mp4
02:34
12 – Working with NoSQL & Using MongoDB
-
016 One Note About Updating Products.mp4
01:46 -
031 Wrap Up.mp4
02:19 -
030 Removing Deleted Items From the Cart.mp4
02:58 -
029 Getting Orders.mp4
03:20 -
028 Adding Relational Order Data.mp4
06:21 -
027 Adding an Order.mp4
04:36 -
026 Deleting Cart Items.mp4
04:01 -
025 Fixing a Bug.mp4
01:02 -
024 Displaying the Cart Items.mp4
09:20 -
023 Storing Multiple Products in the Cart.mp4
07:01 -
022 Adding the Add to Cart Functionality.mp4
06:14 -
021 Working on Cart Items & Orders.mp4
07:13 -
020 Storing the User in our Database.mp4
05:40 -
019 Creating New Users.mp4
07:00 -
018 Fixing the Add Product Functionality.mp4
01:28 -
017 Deleting Products.mp4
03:30 -
001 Module Introduction.mp4
01:16 -
015 Finishing the Update Product Code.mp4
03:57 -
014 Working on the Product Model to Edit our Product.mp4
07:13 -
013 Making the Edit & Delete Buttons Work Again.mp4
02:21 -
012 Fetching a Single Product.mp4
07:45 -
011 Fetching All Products.mp4
04:34 -
010 Understanding the MongoDB Compass.mp4
02:38 -
009 Creating Products.mp4
02:08 -
008 Using the Database Connection.mp4
05:14 -
007 Finishing the Database Connection.mp4
04:21 -
006 Creating the Database Connection.mp4
03:25 -
005 Installing the MongoDB Driver.mp4
07:01 -
004 Setting Up MongoDB.mp4
04:48 -
003 Relations in NoSQL.mp4
03:58 -
002 What is MongoDB.mp4
03:57
13 – Working with Mongoose
-
011 Using Relations in Mongoose.mp4
03:44 -
020 Wrap Up.mp4
01:37 -
019 Getting & Displaying the Orders.mp4
03:40 -
018 Clearing the Cart After Storing an Order.mp4
01:59 -
017 Storing All Order Related Data.mp4
01:51 -
016 Creating & Getting Orders.mp4
09:56 -
015 Deleting Cart Items.mp4
02:45 -
014 Loading the Cart.mp4
05:12 -
013 Working on the Shopping Cart.mp4
05:24 -
012 One Important Thing About Fetching Relations.mp4
03:53 -
001 Module Introduction.mp4
01:23 -
010 Adding and Using a User Model.mp4
06:36 -
009 Deleting Products.mp4
01:19 -
008 Updating Products.mp4
04:14 -
007 Fetching a Single Product.mp4
01:24 -
006 Fetching All Products.mp4
02:27 -
005 Saving Data Through Mongoose.mp4
06:10 -
004 Creating the Product Schema.mp4
06:01 -
003 Connecting to the MongoDB Server with Mongoose.mp4
04:47 -
002 What is Mongoose.mp4
02:04
14 – Sessions & Cookies
-
010 Initializing the Session Middleware.mp4
02:43 -
018 Wrap Up.mp4
03:42 -
017 Two Tiny Improvements.mp4
03:11 -
016 Making Add to Cart Work Again.mp4
06:45 -
015 Fixing Some Minor Bugs.mp4
04:27 -
014 Deleting a Cookie.mp4
04:35 -
013 Sessions & Cookies – A Short Summary.mp4
01:53 -
012 Using MongoDB to Store Sessions.mp4
05:59 -
011 Using the Session Middleware.mp4
04:14 -
001 Module Introduction.mp4
00:45 -
009 What is a Session.mp4
02:58 -
008 Configuring Cookies.mp4
05:43 -
007 Manipulating Cookies.mp4
01:58 -
006 Setting a Cookie.mp4
05:55 -
005 Adding the Request Driven Login Solution.mp4
07:40 -
004 Optional Creating the Login Form.mp4
06:22 -
003 The Current Project Status.mp4
02:18 -
002 What is a Cookie.mp4
01:57
15 – Adding Authentication
-
010 Using Middleware to Protect Routes.mp4
04:38 -
020 Wrap Up.mp4
02:32 -
019 Adding Additional Flash Messages.mp4
02:20 -
018 Finishing the Flash Messages.mp4
02:20 -
017 Optional Styling Error Messages.mp4
03:32 -
016 Providing User Feedback.mp4
07:10 -
015 Fixing the Order Button.mp4
01:16 -
013 Adding CSRF Protection.mp4
04:23 -
012 Using a CSRF Token.mp4
06:56 -
011 Understanding CSRF Attacks.mp4
03:23 -
001 Module Introduction.mp4
01:22 -
009 Working on Route Protection.mp4
02:12 -
008 Adding the Signin Functionality.mp4
06:21 -
007 Adding a Tiny Code Improvement.mp4
01:21 -
006 Encrypting Passwords.mp4
04:36 -
005 Implementing an Authentication Flow.mp4
07:34 -
004 Our Updated Project Status.mp4
02:25 -
003 How is Authentication Implemented.mp4
02:04 -
002 What is Authentication.mp4
02:25
16 – Sending Emails
-
001 Module Introduction.mp4
00:46 -
002 How Does Sending Emails Work.mp4
01:34 -
003 Using SendGrid.mp4
01:24 -
004 Using Nodemailer to Send an Email.mp4
05:09 -
005 Potential Limitation for Large Scale Apps.mp4
01:29
17 – Advanced Authentication
-
001 Module Introduction.mp4
00:41 -
002 Resetting Passwords.mp4
03:03 -
003 Implementing the Token Logic.mp4
07:40 -
004 Creating the Token.mp4
01:27 -
005 Creating the Reset Password Form.mp4
05:27 -
006 Adding Logic to Update the Password.mp4
06:35 -
007 Why we Need Authorization.mp4
01:58 -
008 Adding Authorization.mp4
02:07 -
009 Adding Protection to Post Actions.mp4
03:43 -
010 Why Editing Fails.mp4
01:06 -
011 Wrap Up.mp4
01:45
18 – Understanding Validation
-
001 Module Introduction.mp4
01:03 -
002 Why Should We Use Validation.mp4
02:28 -
003 How to Validate Input.mp4
04:04 -
004 Setup & Basic Validation.mp4
10:44 -
005 Using Validation Error Messages.mp4
02:11 -
006 Built-In & Custom Validators.mp4
03:55 -
007 More Validators.mp4
04:26 -
008 Checking For Field Equality.mp4
03:14 -
009 Adding Async Validation.mp4
04:46 -
010 Keeping User Input.mp4
04:11 -
011 Adding Conditional CSS Classes.mp4
05:29 -
012 Adding Validation to Login.mp4
05:36 -
013 Sanitizing Data.mp4
03:41 -
014 Validating Product Addition.mp4
11:40 -
015 Validating Product Editing.mp4
06:57 -
016 Wrap Up.mp4
01:23