Management and Modeling\
4:33 Connecting to MongoDB
12:27 Understanding the Signup Flow
16:53 Getting TypeScript and Mongoose to Cooperate
22:14 Creating the User Model
27:09 Type Checking User Properties
33:11 Adding Static Properties to a Model
39:11 Defining Extra Document Properties
44:05 What’s That Angle Bracket For
47:58 User Creation
54:46 Proper Error Handling
1:02:12 Reminder on Password Hashing
1:07:11 Adding Password Hashing
1:14:08 Comparing Hashed Password
1:17:03 Mongoose Pre-Save Hooks
Strategies and Options\
1:22:56 Fundamental Authentication Strategies
1:31:55 Huge Issues with Authentication Strategies
1:39:27 So Which Option
1:42:26 Solving Issues with Option #2
1:50:52 Reminder on Cookies vs JWT’s
1:57:14 Microservices Auth Requirements
2:08:14 Issues with JWT’s and Server Side Rendering
2:18:13 Cookies and Encryption
2:23:04 Adding Session Support
2:26:16 Generating a JWT
2:34:46 JWT Signing Keys
2:39:43 Securely Storing Secrets with Kubernetes
2:41:56 Creating and Accessing Secrets
2:51:15 Accessing Env Variables in a Pod
2:56:34 Common Response Properties
3:01:16 Formatting JSON Properties
3:11:55 The Signin Flow
3:19:44 Common Request Validation Middleware
3:25:18 Sign In Logic
3:32:07 Quick Sign In Test
3:34:01 Current User Handler
3:37:02 Returning the Current User
3:45:57 Signing Out
3:48:46 Creating a Current User Middleware
3:55:41 Augmenting Type Definitions
4:03:28 Requiring Auth for Route Access
Isolated Microservices\
4:11:14 Scope of Testing
4:15:43 Testing Goals
4:20:16 Testing Architecture
4:28:07 Index to App Refactor
4:31:01 A Few Dependencies
4:34:35 Test Environment Setup
4:42:47 Our First Test
4:49:11 An Important Note
4:50:43 Testing Invalid Input
4:55:57 Requiring Unique Emails
4:57:43 Changing Node Env During Tests
5:03:26 Tests Around Sign In Functionality
5:09:52 Testing Sign Out
5:14:24 Issues with Cookies During Testing
5:19:43 Easy Auth Solution
5:22:47 Auth Helper Function
5:29:59 Testing Non-Authed Requests
a Server-Side-Rendered React App\
5:31:44 Starting the React App
5:33:56 Reminder on Server Side Rendering
5:37:34 Basics of Next JS
5:42:59 Building a Next Image
5:47:28 Running Next in Kubernetes
5:57:40 Note on File Change Detection
6:02:07 Adding Global CSS
6:07:17 Adding a Sign Up Form
6:10:28 Handling Email and Password Inputs
6:14:11 Successful Account Signup
6:19:23 Handling Validation Errors
6:26:17 The useRequest Hook
6:33:17 Using the useRequest Hook
6:36:58 An onSuccess Callback
6:42:36 Overview on Server Side Rendering
6:49:23 Fetching Data During SSR
6:54:31 Why the Error
7:03:31 Two Possible Solutions
7:10:36 Cross Namespace Service Communication
7:18:21 When is GetInitialProps Called
7:25:08 On the Server or the Browser
7:27:10 Specifying the Host
7:35:33 Passing Through the Cookies
7:39:34 A Reusable API Client
7:46:40 Content on the Landing Page
7:48:42 The Sign In Form
7:51:54 A Reusable Header
7:56:54 Moving GetInitialProps
7:59:06 Issues with Custom App GetInitialProps
8:05:48 Handling Multiple GetInitialProps
8:11:56 Passing Props Through
8:14:59 Building the Header
8:20:05 Conditionally Showing Links
8:26:03 Signing Out
Sharing and Reuse Between Services\
8:30:40 Shared Logic Between Services
8:35:14 Options for Code Sharing
8:40:01 NPM Organizations
8:44:29 Publishing NPM Modules
8:48:35 Project Setup
8:56:09 An Easy Publish Command
9:03:36 Relocating Shared Code
9:11:05 Updating Import Statements
9:16:22 Updating the Common Module
Server Setup\
9:21:57 Ticketing Service Overview
9:25:00 Project Setup
9:30:25 Running the Ticket Service
9:36:31 Mongo Connection URI
9:44:45 Quick Auth Update
9:46:32 Test-First Approach
9:50:52 Creating the Router
9:55:48 Adding Auth Protection
10:03:53 Faking Authentication During Tests
10:11:03 Building a Session
10:16:42 Testing Request Validation
10:20:55 Validating Title and Price
10:25:05 Reminder on Mongoose with TypeScript
10:32:17 Defining the Ticket Model
10:36:06 Creation via Route Handler
10:44:28 Testing Show Routes
10:51:21 Unexpected Failure!
10:56:50 What’s that Error!
11:05:48 Better Error Logging
11:11:00 Complete Index Route Implementation
11:17:31 Ticket Updating
11:23:46 Handling Updates
11:28:02 Permission Checking
11:34:52 Final Update Changes
11:43:57 Manual Testing
Streaming Server - An Event Bus Implementation\
11:49:33 What Now
11:52:24 Three Important Items
11:56:58 Creating a NATS Streaming Deployment