Companies Home Search Profile

Epic Web - Ship Modern Full-Stack Web Applications

Focused View

23:12:43

25 View
  • 01. Intro to Full Stack Foundations Workshop.mp4
    03:59
  • 02. Intro to Styling.mp4
    02:43
  • 03. Manage Asset Links in a Remix Application.mp4
    01:45
  • 04. Using Remixs Links Component.mp4
    03:06
  • 05. Asset Import Caching Issue.mp4
    04:15
  • 06. Caching the Favicon.mp4
    03:54
  • 07. Add Custom Fonts to the Global CSS.mp4
    00:49
  • 08. Adding Global Styles to a Remix App.mp4
    02:34
  • 09. Using PostCSS and Tailwind CSS in Remix.mp4
    01:37
  • 10. PostCSS and Tailwind CSS Configuration.mp4
    05:18
  • 11. Bundling CSS in Remix.mp4
    01:39
  • 12. Configure CSS Bundling.mp4
    06:12
  • 13. Dad Joke Break.mp4
    00:18
  • 14. Intro to Routing.mp4
    08:44
  • 15. Routing in Remix.mp4
    01:39
  • 16. Creating User Profile and Notes Pages with Remix Routes.mp4
    08:23
  • 17. Adding Navigation Links.mp4
    00:50
  • 18. Adding Absolute and Relative Links.mp4
    05:33
  • 19. Adding Dynamic Parameter Support.mp4
    00:55
  • 20. Access Params with useParams.mp4
    03:57
  • 21. Adding a Resource Route.mp4
    02:47
  • 22. Example Resource Route Usage.mp4
    06:40
  • 23. Dad Joke Break 2.mp4
    00:32
  • 24. Intro to Loading.mp4
    03:40
  • 25. Loading Data to Your Database.mp4
    01:36
  • 26. Efficient Data Loading in a Remix App.mp4
    11:30
  • 27. Handling Error Messages.mp4
    01:16
  • 28. Handling Error Responses with Remix.mp4
    05:35
  • 29. Dad Joke Break Loading.mp4
    00:29
  • 30. Intro to Mutations.mp4
    07:42
  • 31. Building Forms.mp4
    00:52
  • 32. Creating Form Components with Remix.mp4
    03:52
  • 33. Handling POST Requests for Form Submission.mp4
    01:03
  • 34. Handling Form Submissions and Mutations.mp4
    06:25
  • 35. Handling Form Errors and User Mistakes.mp4
    01:29
  • 36. Form Data Types and Validation.mp4
    04:25
  • 37. Button Forms Data.mp4
    01:03
  • 38. Form Submissions and Mutations.mp4
    03:33
  • 39. Handling Multiple Actions in a Single Action Function.mp4
    01:00
  • 40. Leveraging Name and Value in Buttons for Multiple Form Submissions.mp4
    03:59
  • 41. Dad Joke Break Mutations.mp4
    00:16
  • 42. Intro to Scripting.mp4
    05:27
  • 43. JavaScript in Remix- From Optional to Essential.mp4
    02:24
  • 44. Improving User Experience with Client-Side JavaScript.mp4
    05:36
  • 45. Page Navigation with Scroll Behavior.mp4
    01:28
  • 46. Enhancing Scroll Restoration.mp4
    02:03
  • 47. Environment Variables for Client-Side and Server-Side.mp4
    07:23
  • 48. Exposing Environment Variables in a Web Application.mp4
    06:44
  • 49. Optimizing Resource Loading with JavaScript Prefetching.mp4
    02:08
  • 50. Enhancing User Experience with Prefetching.mp4
    04:25
  • 51. Improve the UX with Pending UI.mp4
    01:54
  • 52. Adding Pending State to Form Submissions with Remix.mp4
    06:36
  • 53. Dad Joke Break Scripting.mp4
    00:27
  • 54. Intro to Search Engine Optimization (SEO).mp4
    03:42
  • 55. Configuring Meta Tags.mp4
    00:51
  • 56. Meta Tags for Better SEO and UX.mp4
    02:17
  • 57. Dynamic Metadata for Different Routes.mp4
    00:35
  • 58. Managing Meta Tags and Descriptions in RemixRunReact.mp4
    04:50
  • 59. Customizing Meta Tags with Dynamic Data.mp4
    01:23
  • 60. Handling Dynamic Data with Remixs Meta Function.mp4
    03:01
  • 61. Optimizing Metadata for User Info.mp4
    01:40
  • 62. Implementing Dynamic Meta Data for Routes in a TypeScript Application.mp4
    08:40
  • 63. Dad Joke Break - SEO.mp4
    00:28
  • 64. Intro to Error Handling.mp4
    02:56
  • 65. Improving Error Handling and UI on User Profile Page.mp4
    00:37
  • 66. Error Handling and Error Boundaries.mp4
    05:37
  • 67. Handling Expected Errors with Error Boundaries.mp4
    01:54
  • 68. Improving Error Messages for User.mp4
    02:27
  • 69. Streamlining Error Handling in Routes with a General Error Boundary.mp4
    01:30
  • 70. Error Boundaries and Handling in Nested Routes.mp4
    05:37
  • 71. Improving Error Handling with a Document Component.mp4
    02:10
  • 72. Refactoring App Components for Better Error Handling.mp4
    02:52
  • 73. Handling 404 Errors in React Router with Splat Routes.mp4
    02:00
  • 74. Handling 404 Errors with Splat Routes in Remix.mp4
    04:08
  • 75. Dad Joke Break 3.mp4
    00:31
  • 76. Outro to Full Stack Foundations Workshop.mp4
    00:59
  • 01. Intro to Professional Web Forms Workshop.mp4
    02:10
  • 02. Intro to Form Validation.mp4
    01:31
  • 03. Required Field Validation for User Input.mp4
    00:51
  • 04. Form Validation for Accessibility.mp4
    01:51
  • 05. Server-side Validation and Custom Error Messages.mp4
    01:19
  • 06. Server-Side Form Validation and Error Handling.mp4
    09:41
  • 07. Dynamic Error Validation with Hooks.mp4
    00:48
  • 08. Form Validation with Client-Side Hydration.mp4
    02:43
  • 09. Dad Joke Break From Validation.mp4
    00:20
  • 10. Intro to Accessibility.mp4
    07:55
  • 11. Fixing Form Reset Button and Accessibility Issues.mp4
    01:09
  • 12. Improving Accessibility and Form Associations.mp4
    06:11
  • 13. Error Messages and Accessibility with ARIA Attributes.mp4
    02:01
  • 14. Accessible Forms with ARIA Attributes.mp4
    05:50
  • 15. Focus Management for Better User Experience.mp4
    01:22
  • 16. Managing Focus for Form Errors.mp4
    07:33
  • 17. Dad Break Joke Accessibility.mp4
    00:39
  • 18. Intro to Schema Validation.mp4
    06:43
  • 19. Schema Validation.mp4
    00:29
  • 20. Schema Validation with Zod.mp4
    03:49
  • 21. Form Data Parsing with Conform.mp4
    01:08
  • 22. Form Submission and Error Handling with Conform & Zod.mp4
    03:20
  • 23. Type Safety with Conform.mp4
    00:29
  • 24. Simplifying Form Handling with Conform and Schema Validation.mp4
    08:14
  • 25. Dad Joke Break Schema Validation.mp4
    00:38
  • 26. Intro to File Upload.mp4
    05:08
  • 27. File Upload Functionality.mp4
    01:18
  • 28. Image Upload with Form Data and Memory Upload Handling.mp4
    12:26
  • 29. TypeScript Integration.mp4
    00:36
  • 30. Validating File Uploads with Zod Schema in a Web Application.mp4
    05:42
  • 31. Dad Joke Break File Upload.mp4
    00:59
  • 32. Intro to Complex Structures.mp4
    06:06
  • 33. Grouping and Managing Related Fields in Form Objects.mp4
    00:46
  • 34. Implementing Image Field Set with Conform and TypeScript.mp4
    10:41
  • 35. Multiple Image Uploading.mp4
    01:11
  • 36. Dynamic Image Lists with Field Sets.mp4
    04:56
  • 37. Interactive Image Management.mp4
    02:29
  • 38. Dynamically Delete and Add Buttons.mp4
    10:20
  • 39. Dad Joke Break Complex Structures.mp4
    00:28
  • 40. Intro to Honeypot.mp4
    04:02
  • 41. Adding a Honeypot to Protect Against Spam Bots.mp4
    01:00
  • 42. Honeypot Fields in Sign Up Forms.mp4
    06:13
  • 43. Honeypot Fields for Form Security.mp4
    04:40
  • 44. Honeypots for Form Security.mp4
    00:51
  • 45. Honeypot Protection.mp4
    04:00
  • 46. Consistent Encryption with Honeypot Server.mp4
    01:26
  • 47. Setting Up Honeypot Security for Server Environment Variables.mp4
    03:09
  • 48. Dad Joke Break Honeypot.mp4
    00:32
  • 49. Intro to CSRF.mp4
    05:07
  • 50. CSRF Protection with Cookies.mp4
    01:11
  • 51. Creating and Managing CSRF Tokens With Node.js.mp4
    09:04
  • 52. Authenticity With Token Protection.mp4
    01:05
  • 53. Security with Authenticity Token and CSRF Validation.mp4
    05:20
  • 54. Dad Joke Break CSRF.mp4
    00:13
  • 55. Intro to Rate Limit.mp4
    02:11
  • 56. Optimizing Your Express Server with Rate Limiting Middleware.mp4
    01:13
  • 57. Safeguarding Your Server- Adding Rate Limit Configuration.mp4
    04:32
  • 58. Tiered Rate Limiting with Custom Middleware.mp4
    01:23
  • 59. Applying Rate Limiting.mp4
    04:44
  • 60. Dad Joke Break Rate Limit.mp4
    00:33
  • 61. Outro to Professional Web Forms Workshop.mp4
    00:51
  • 01. Intro to Data Modeling Deep Dive Workshop.mp4
    02:10
  • 02. Intro to Database Schema.mp4
    03:20
  • 03. Setting Up the Database with Prisma.mp4
    00:41
  • 04. Database with Prisma and SQLite.mp4
    09:32
  • 05. Dad Joke Break Database Schema.mp4
    00:31
  • 06. Intro to Data Relationships.mp4
    06:15
  • 07. One-to-Many Relationships.mp4
    01:40
  • 08. One-to-Many Relationships in Prisma.mp4
    06:25
  • 09. Database Design.mp4
    05:49
  • 10. One-to-One and One-to-Many Relationships in Prisma.mp4
    08:16
  • 11. Dad Joke Break Data Relationships.mp4
    00:36
  • 12. Intro to Data Migrations.mp4
    05:21
  • 13. Creating Migration Files for Database Management with Prisma.mp4
    00:39
  • 14. Database Migrations with Prisma.mp4
    05:21
  • 15. Dad Joke Break Data Migrations.mp4
    00:34
  • 16. Intro to Seeding Data.mp4
    03:40
  • 17. Configuring Prisma for Seed Script Execution.mp4
    00:34
  • 18. Creating and Managing Data with Prisma Seed Scripts.mp4
    03:54
  • 19. Optimizing Queries with Nested Mutations in Prisma.mp4
    01:08
  • 20. Nested Queries in Database Operations.mp4
    01:52
  • 21. Dad Joke Break Seeding Data.mp4
    00:57
  • 22. Intro to Generating Seed Data.mp4
    01:52
  • 23. Generating Fake Data for Efficient Testing.mp4
    00:29
  • 24. Generating Random User Data with Faker.js for Database Seeding.mp4
    01:42
  • 25. Dynamically Generating Data.mp4
    02:19
  • 26. Generating Dynamic Seed Data.mp4
    05:50
  • 27. Creating Unique User Data with Enforce Unique Library.mp4
    01:02
  • 28. Generating Unique and Valid Usernames in Seed Data.mp4
    04:58
  • 29. Dad Joke Break Generating Seed Data.mp4
    00:30
  • 30. Intro to Querying Data.mp4
    05:23
  • 31. Connecting to a Real Database with Prisma and SQLite.mp4
    01:00
  • 32. Optimizing Prisma Client for Efficient Database Operations.mp4
    07:28
  • 33. Transitioning to Real Database with Prisma API.mp4
    00:34
  • 34. Using Prisma to Retrieve User Data from a SQLite Database.mp4
    03:28
  • 35. Database Queries and Migrating to Prisma.mp4
    00:29
  • 36. Efficient Data Retrieval with Prisma and Subselects.mp4
    02:45
  • 37. Dad Joke Break Querying Data.mp4
    00:57
  • 38. Intro to Updating Data.mp4
    02:58
  • 39. Mutating Data with Prisma.mp4
    00:38
  • 40. Deleting Data with Prisma.mp4
    00:54
  • 41. Updating Page Mutations for Images and Notes with Efficient Cache Control.mp4
    03:26
  • 42. Efficiently Updating and Deleting Data in a Form with Prisma.mp4
    05:12
  • 43. Implementing Transactions for Reliable Data Operations.mp4
    01:59
  • 44. Implementing Transactions with Prisma for Atomic Database Operations.mp4
    02:49
  • 45. Optimizing Database Calls with Nested Queries in Prisma.mp4
    00:37
  • 46. Efficient Database Updates with Prismas Nested Queries.mp4
    04:26
  • 47. Dad Joke Break Updating Data.mp4
    00:25
  • 48. Intro to SQL.mp4
    04:30
  • 49. SQL Queries for User Search in Prisma.mp4
    01:21
  • 50. User Search with Prisma and SQL.mp4
    02:47
  • 51. Handling TypeScript Errors and Runtime Type Checking with Prisma and Zod.mp4
    01:27
  • 52. Runtime Type Checking and Parsing in Prisma with Raw Queries.mp4
    06:15
  • 53. Working with Joins in SQL.mp4
    03:09
  • 54. Left Joins with Prisma and SQLite.mp4
    02:23
  • 55. Sorting Users by Recent Entry with Raw SQL.mp4
    01:23
  • 56. Leveraging AI Assistance for Writing SQL Queries.mp4
    03:56
  • 57. Dad Joke Break SQL.mp4
    00:28
  • 58. Intro to Query Optimization.mp4
    12:18
  • 59. Optimizing Query Performance with Indexes in Prisma.mp4
    00:53
  • 60. Optimizing Database Queries with Indexes.mp4
    05:06
  • 61. Optimizing User Search Query Performance with Indexing.mp4
    02:28
  • 62. Query Performance with Indexes in SQLite.mp4
    13:55
  • 63. Dad Joke Break Query Optimization.mp4
    00:46
  • 64. Outro to Data Modeling Deep Dive Workshop.mp4
    00:27
  • 01. Intro to Authentication Strategies & Implementation Workshop.mp4
    04:43
  • 02. Intro to Cookies.mp4
    04:40
  • 03. Implementing Theme Switching with Conform and UseFetcher.mp4
    01:47
  • 04. Creating a Theme Switcher with Form Submission and Fetcher in React.mp4
    03:57
  • 05. Adding User Preference for Dark Mode.mp4
    00:40
  • 06. Implementing Cookies for Theme Selection.mp4
    09:45
  • 07. Implementing Optimistic UI for Theme Switching.mp4
    01:16
  • 08. Implementing Optimistic UI with Remix.mp4
    05:15
  • 09. Dad Joke Break Cookies.mp4
    00:37
  • 10. Intro to Session Storage.mp4
    04:00
  • 11. Toast Messages with Cookies.mp4
    01:45
  • 12. Configuring Cookie Session Storage for Toast Messages.mp4
    04:53
  • 13. Adding Toast Notifications to Delete Functionality.mp4
    00:45
  • 14. Managing Toast Messages with Cookie Sessions.mp4
    04:56
  • 15. Improving Note Deletion Functionality with Multiple Cookies.mp4
    00:38
  • 16. Efficiently Updating and Serializing Cookies.mp4
    04:58
  • 17. Implementing Flash Messages for Temporary Notifications.mp4
    00:46
  • 18. Efficiently Removing Toast Messages with Flash API.mp4
    00:47
  • 19. Dad Joke Break Session Storage.mp4
    00:15
  • 20. Intro to User Sessions.mp4
    00:48
  • 21. Managing User Sessions with Separate Cookies.mp4
    00:22
  • 22. Secure Cookie Session Storage.mp4
    01:14
  • 23. User Authentication and Session Management.mp4
    01:17
  • 24. User Authentication and Session Management with Login Forms.mp4
    06:20
  • 25. Load User Avatars.mp4
    00:20
  • 26. Handling User Authentication and Session Management with Prisma.mp4
    02:37
  • 27. Dad Joke Break User Sessions.mp4
    00:29
  • 28. Intro to Password.mp4
    04:45
  • 29. Creating an Optional Password Model in Prisma Schema.mp4
    00:36
  • 30. Model Relationships and Handling Passwords in Database Schema.mp4
    02:51
  • 31. Generating Passwords for Secure User Creation.mp4
    00:57
  • 32. Secure Password Creation with Prisma.mp4
    03:40
  • 33. Enhancing User Creation by Adding Passwords.mp4
    00:20
  • 34. Creating and Hashing Passwords for User Sign-Up.mp4
    01:46
  • 35. Dad Joke Break Password.mp4
    00:21
  • 36. Intro to Login.mp4
    03:58
  • 37. Secure Password Authentication with bcrypt Compare in Node.js.mp4
    00:17
  • 38. Implementing Secure Password Verification in User Login.mp4
    03:39
  • 39. Securing UI Elements.mp4
    00:44
  • 40. Dad Joke Break Login.mp4
    00:27
  • 41. Leveraging Utility Functions for User Data Handling and UI Customization.mp4
    08:39
  • 42. Intro to Logout.mp4
    01:07
  • 43. Transforming a Logout Link into a Secure Logout Form.mp4
    00:32
  • 44. Logout Functionality with Session Storage and CSRF Protection.mp4
    03:54
  • 45. Implementing Remember Me Functionality for Login Sessions.mp4
    02:58
  • 46. Implementing Remember Me Functionality.mp4
    05:03
  • 47. Managing Inactive User Sessions.mp4
    00:58
  • 48. Destroying Sessions and Handling Weird States.mp4
    01:30
  • 49. Implementing Automatic Logout with Modals.mp4
    03:03
  • 50. Auto-Logout Functionality.mp4
    06:07
  • 51. Dad Joke Break Logout.mp4
    00:41
  • 52. Intro to Protecting Routes.mp4
    01:53
  • 53. Creating Protected Routes.mp4
    00:48
  • 54. Creating an Auth Utility.mp4
    02:53
  • 55. Building a Profile Page.mp4
    01:06
  • 56. User Authentication and Authorization.mp4
    03:56
  • 57. Securing User Access.mp4
    01:21
  • 58. Authorization and User Authentication.mp4
    04:32
  • 59. Redirect Functionality.mp4
    02:04
  • 60. Handling Redirects Safely in User Authentication.mp4
    08:19
  • 61. Dad Joke Break Protecting Routes.mp4
    00:31
  • 62. Intro to Permissions.mp4
    03:37
  • 63. Role-Based Access Control with Prisma.mp4
    00:50
  • 64. Modeling Permissions and Roles in Prisma Database.mp4
    06:35
  • 65. Managing Roles and Permissions.mp4
    01:53
  • 66. Seed Data.mp4
    07:50
  • 67. Implementing User Permissions and Authorization Logic.mp4
    01:33
  • 68. Implementing Role-Based Permissions.mp4
    10:34
  • 69. Securing Admin Pages with User Permissions.mp4
    01:12
  • 70. Implementing Role-based Access Control and Permissions.mp4
    09:43
  • 71. Dad Joke Break Permissions.mp4
    00:38
  • 72. Intro to Man Sessions.mp4
    00:58
  • 73. Managing User Sessions and Allowing Data Downloads.mp4
    00:52
  • 74. Integrating User Sessions into the Login Process.mp4
    01:56
  • 75. Implementing Session-Based Authentication.mp4
    00:48
  • 76. Authentication Logic with Session IDs and User Creation.mp4
    06:43
  • 77. Improving Login and Signup Flows with Session Management.mp4
    00:29
  • 78. Updating Login and Signup Routes to Use Sessions instead of User IDs.mp4
    02:45
  • 79. Proactive Session Management.mp4
    01:17
  • 80. Managing Sessions and Sign Out in Web Applications.mp4
    04:48
  • 81. Dad Joke Break Man Sessions.mp4
    00:29
  • 82. Intro to Email.mp4
    03:32
  • 83. Integrating Email Services.mp4
    01:02
  • 84. Sending Emails with the Resend API using Fetch.mp4
    05:18
  • 85. Mocking APIs with MSW and Testing.mp4
    01:45
  • 86. Setting Up a Mock Server with MSW Node.mp4
    12:11
  • 87. Email Verification Flow.mp4
    01:32
  • 88. User Verification Emails.mp4
    01:04
  • 89. Secure Email Transfer and Storage with Cookies for Onboarding.mp4
    01:51
  • 90. Passing Data Between Routes.mp4
    07:53
  • 91. Dad Joke Break Email.mp4
    00:28
  • 92. Intro to Verification.mp4
    05:11
  • 93. Implementing One-Time Password Verification with Database Storage.mp4
    00:42
  • 94. Creating a Verification Model in Prisma for User Verification.mp4
    04:09
  • 95. User Verification Workflow.mp4
    02:02
  • 96. Generating One-Time Passwords and Verification URLs in a Signup Flow.mp4
    07:46
  • 97. Implementing User Code Verification with TOTP.mp4
    01:06
  • 98. Verification Flow and Dynamic Query Parameters.mp4
    12:20
  • 99. Dad Joke Break Verification.mp4
    00:30
  • 100. Intro to Reset Password.mp4
    01:43
  • 101. Implementing Forgot Password and Reset Password Flows.mp4
    02:31
  • 102. Resetting Passwords and Handling Verification.mp4
    11:05
  • 103. User Authentication and Password Reset Flow.mp4
    00:51
  • 104. Secure Password Reset Flow Implementation.mp4
    05:58
  • 105. Dad Joke Break Reset Pass.mp4
    00:45
  • 106. Intro to Change Email.mp4
    01:32
  • 107. Implementing Email Verification for Changing Email Addresses.mp4
    00:56
  • 108. Implementing Email Change Verification.mp4
    04:32
  • 109. Handling Email Verification and Updates.mp4
    00:25
  • 110. Implementing a Secure Email Change Flow.mp4
    06:16
  • 111. Dad Joke Break Change Email.mp4
    00:22
  • 112. Intro to Enable Two-Factor Authentication.mp4
    02:11
  • 113. Implementing Two-Factor Authentication Verification.mp4
    01:01
  • 114. Two-Factor Authentication with TOTP Codes.mp4
    04:21
  • 115. Generating Two-Factor Authentication Codes and QR Codes.mp4
    01:19
  • 116. Generating QR Code and Auth URI for Two-Factor Authentication.mp4
    05:08
  • 117. Testing the Two-Factor Authentication Setup.mp4
    02:08
  • 118. Two-Factor Authentication Code Verification.mp4
    09:24
  • 119. Dad Joke Break Enable Two-Factor Authentication.mp4
    01:04
  • 120. Intro to Verify Two-Factor Authentication (2FA).mp4
    01:54
  • 121. Two-Factor Authentication and Session Verification.mp4
    00:36
  • 122. Implementing Two-Factor Authentication Flow.mp4
    06:25
  • 123. Switching to Verified Session ID After Code Verification.mp4
    03:07
  • 124. Two-Factor Authentication Login in Node.js.mp4
    08:30
  • 125. Dad Joke Break Verify Two-Factor Authentication (2FA).mp4
    00:47
  • 126. Intro to Two-Factor Authentication Check.mp4
    02:48
  • 127. Two-Factor Authentication Deletion.mp4
    00:37
  • 128. Disabling Two-Factor Authentication.mp4
    01:25
  • 129. Adding User Re-Verification for Critical Operations.mp4
    01:51
  • 130. Implementing Verification Age Check for Disable 2FA.mp4
    00:46
  • 131. Managing User Verification and Two-Factor Authentication.mp4
    05:41
  • 132. Redirecting Users to Re-verify for 2FA Disabling.mp4
    04:07
  • 133. Session Expiry Issue During 2FA Disablement Flow.mp4
    02:55
  • 134. Fixing Session Expiration Behavior in 2FA Disablement Flow.mp4
    06:11
  • 135. Dad Joke Break Two-Factor Authentication Check.mp4
    00:31
  • 136. Intro to Oauth.mp4
    08:54
  • 137. Integrating GitHub Authentication.mp4
    01:32
  • 138. Setting up OAuth Authentication with GitHub.mp4
    08:04
  • 139. Testing the OAuth Flow with GitHub Authentication.mp4
    01:17
  • 140. Implementing OAuth2 Flow with GitHub for User Authentication.mp4
    07:38
  • 141. Simulating Third-Party Dependencies.mp4
    06:51
  • 142. Simulating GitHub Authentication Flow with Mocks.mp4
    04:11
  • 143. Updating Prisma Schema for GitHub Login.mp4
    01:24
  • 144. Establishing Connections and Seed Script in Prisma for GitHub Authentication.mp4
    04:42
  • 145. Dad Joke Break Oauth.mp4
    00:35
  • 146. Intro to Provider Errors.mp4
    00:55
  • 147. Handling Errors in Third-Party API Calls.mp4
    00:47
  • 148. Handling Errors and Redirecting with GitHub Authentication.mp4
    01:12
  • 149. Handling Connection Errors and Duplication in Account Management.mp4
    00:45
  • 150. Handling Existing Connections in AuthProvider Callback.mp4
    04:12
  • 151. Dad Joke Break Provider Errors.mp4
    00:34
  • 152. Intro to Third Party Login.mp4
    02:12
  • 153. Implementing GitHub Login with Two-Factor Authentication.mp4
    01:17
  • 154. Refactoring Login Logic and Implementing GitHub Login.mp4
    03:53
  • 155. Sign Up with GitHub and Handling Mocked Data.mp4
    02:27
  • 156. Onboarding and User Authentication with Third-Party Providers.mp4
    11:17
  • 157. Dad Joke Break Third Party Login.mp4
    00:31
  • 158. Intro to Connection.mp4
    01:14
  • 159. Connecting Website and GitHub Accounts.mp4
    01:15
  • 160. Automatically Connecting User Profiles with Existing Accounts.mp4
    04:12
  • 161. Adding Multiple GitHub Connections to User Accounts.mp4
    00:55
  • 162. Connecting Existing Accounts with an Auth Provider.mp4
    01:38
  • 163. Dad Joke Break Connection.mp4
    00:48
  • 164. Intro to Redirect Cookie.mp4
    00:58
  • 165. Managing Redirects in Forms and Handling Cookies for Persistent Navigation.mp4
    00:58
  • 166. Adding Redirect Functionality to Login and Signup Forms.mp4
    01:46
  • 167. Handling Redirects and Cookies.mp4
    01:03
  • 168. Handling Authentication Redirects and Cookies.mp4
    01:57
  • 169. Handling Redirects.mp4
    00:42
  • 170. Managing Redirects and Cookies.mp4
    05:05
  • 171. Dad Joke Break Redirect Cookie.mp4
    00:31
  • 172. Outro to Authentication Strategies & Implementation Workshop.mp4
    00:57
  • 01. Intro to Web Application Testing Workshop.mp4
    01:31
  • 02. Intro to End-to-End.mp4
    06:22
  • 03. Writing Automated Tests with Playwright UI Mode.mp4
    02:37
  • 04. Writing and Asserting Playwright Tests for Search Functionality.mp4
    10:16
  • 05. Isolating Tests for Better Reliability and Flexibility.mp4
    01:01
  • 06. Creating and Interacting with User Data.mp4
    02:01
  • 07. Test Isolation in End-to-End Testing.mp4
    02:00
  • 08. Proper Setup and Teardown of Testing for Database Cleanup.mp4
    01:01
  • 09. Implementing Fixtures to Ensure User Deletion in Playwright Tests.mp4
    02:05
  • 10. Playwright Fixtures for Testing.mp4
    06:28
  • 11. Dad Joke Break E2E.mp4
    00:26
  • 12. Intro to E2E Mocking.mp4
    05:13
  • 13. Writing Emails to the File System for Test Automation.mp4
    01:32
  • 14. Handling Emails in Node.js using File System.mp4
    02:30
  • 15. Reading Email from Disk in Test Environment.mp4
    00:21
  • 16. Communicating Between Processes with File System in Node.js.mp4
    03:18
  • 17. Dad Joke Break E2E Mocking.mp4
    00:35
  • 18. Intro to Auth E2E.mp4
    03:22
  • 19. End-to-End User Flow Testing and Authentication Utility.mp4
    02:05
  • 20. Login and Setting Cookies for Browser Testing.mp4
    07:25
  • 21. Dad Joke Break Auth E2E.mp4
    00:58
  • 22. Intro to Unit Test.mp4
    03:11
  • 23. Unit Testing a Function for Error Messages.mp4
    00:42
  • 24. Writing Unit Tests for Utility Functions.mp4
    06:55
  • 25. Managing Test Output and Error Logging with Console Mocking.mp4
    02:11
  • 26. Testing Console Error with Spies.mp4
    04:18
  • 27. Implementing Test Hooks for Error Restoration in Playwright.mp4
    00:59
  • 28. Effective Error Handling and Console Capture Testing.mp4
    05:15
  • 29. Creating a Setup File for Test Environment Setup.mp4
    00:43
  • 30. Setting Up Test Environment and Utilizing Setup Files with VTest.mp4
    03:44
  • 31. Dad Joke Break Unit Test.mp4
    00:57
  • 32. Intro to Component Testing.mp4
    05:49
  • 33. Error List Component with React Testing Library.mp4
    00:31
  • 34. Testing React Components with JSDOM.mp4
    05:57
  • 35. Proper DOM Cleanup for Reliable Testing.mp4
    00:18
  • 36. Ensuring Isolation and Proper Test Execution.mp4
    04:49
  • 37. Dad Joke Break Component Test.mp4
    00:12
  • 38. Intro to Hooks.mp4
    07:02
  • 39. Double Confirmation Feature.mp4
    04:03
  • 40. Testing Custom React Hooks with RenderHook and Act.mp4
    09:24
  • 41. Custom Test Components vs Render Hook Utility.mp4
    01:12
  • 42. Testing React Hooks.mp4
    05:58
  • 43. Dad Joke Break Hooks.mp4
    00:25
  • 44. Intro to Testing Remix.mp4
    03:37
  • 45. Creating a Stub for Testing Component Logic in Remix.mp4
    01:28
  • 46. Rendering Components with Mock Data.mp4
    07:13
  • 47. Creating a Parent Route for Accessing Root Data.mp4
    01:10
  • 48. Creating Routes and Context in Remix.mp4
    03:37
  • 49. Dad Joke Break Testing Remix.mp4
    00:26
  • 50. Intro to Http Mocking.mp4
    02:23
  • 51. GitHub Sign-In Callback.mp4
    02:04
  • 52. Testing OAuth2 Flow and Mocking GitHub API Responses.mp4
    10:09
  • 53. Testing Error Handling in GitHub API Interceptor.mp4
    01:28
  • 54. Testing Error Handling and Assertions with Mock API Calls.mp4
    05:53
  • 55. Streamlining Repetitive Test Setup for Optimal Efficiency.mp4
    01:02
  • 56. Efficient Code Organization with Setup Functions.mp4
    02:35
  • 57. Dad Joke Break Http Mocking.mp4
    00:53
  • 58. Intro to Auth Integration.mp4
    03:07
  • 59. Testing Authenticated Requests and Connection Creation.mp4
    01:02
  • 60. Creating and Authenticating Users for Connection Setup.mp4
    08:44
  • 61. Assertions for GitHub Login Session Creation.mp4
    00:34
  • 62. Verifying Session Creation and User Authentication.mp4
    02:55
  • 63. Integrating Real Database with User Routes.mp4
    00:39
  • 64. Authentication in Database Integration Tests.mp4
    07:31
  • 65. Dad Joke Break Auth Integration.mp4
    01:01
  • 66. Intro to Custom Assertions.mp4
    03:02
  • 67. Custom Matchers for Assertions.mp4
    01:37
  • 68. Custom Assertions with Jests Expect Library.mp4
    04:21
  • 69. Dad Joke Break Custom Assertions.mp4
    00:45
  • 70. Intro to Test Database.mp4
    04:03
  • 71. Setting Up a Test Database for Prisma Integration Tests.mp4
    02:14
  • 72. Setting Up an Isolated Database for Tests.mp4
    06:24
  • 73. Optimizing Database Seeding for Faster Execution.mp4
    00:45
  • 74. Optimizing Database Seeding for Faster Execution 2.mp4
    01:31
  • 75. Managing Test Databases for Parallel Testing.mp4
    01:03
  • 76. Isolating Test Databases for Efficient Testing.mp4
    01:10
  • 77. Optimizing Test Setup.mp4
    01:25
  • 78. Optimizing Test Setup with Global Database Configuration.mp4
    05:54
  • 79. Dad Joke Break Test Database.mp4
    00:27
  • 80. Outro to Web Application Testing Workshop.mp4
    00:38
  • More details


    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 453
    • duration 23:12:43
    • Release Date 2023/12/29