Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Video Sharing App with AWS Serverless, AWS CDK and Typescript
Build the App
01 Project Overview and Requirements (2:08)
02 Architecture Details (3:00)
03 Use Cases (2:12)
04 Introduction to Api Gateway (3:48)
05 AWS API Gateway (12:52)
06 Line Diagram for Video Upload Process (5:04)
07 Creating API Gateway and Lambda (4:30)
08 Introduction to AWS DynamoDB (12:13)
09 NoSQL WorkBench (5:28)
10 Entity and Access Pattern (5:39)
11 Creating Tables in WorkBench (5:09)
12 Creating DynamoDB Table (2:42)
13 Configure Lambda For Dynamo - 1 (6:39)
14 Configure Lambda For Dynamo - 2 (10:46)
15 Test Driven Development (TDD) Introduction (8:52)
16 Introduction to Jest the javascript testing library (11:56)
17 Writing Test for the Lambda Handler (5:58)
18 Mocking and Spying during Test (19:46)
19 Sending Mocked Upload Url as Response (3:34)
20 When Not to use Mock (Testing Database Method) (5:51)
21 Fix the Tests with BeforeEach Handler (3:17)
22 Create Video Entity and Fix the Dynamo Client (6:09)
23 Tips on Naming your Variables and Functions (2:44)
24 Make the code Better with Refactoring (Creating a general Api Handler) (9:28)
25 Handilg the Validation Error (Zod Error) Gracefully (4:23)
26 Introduction to S3 (8:57)
27 Understand S3 Presigned URL (Generate in Typescript) (15:24)
28 Write the Upload URL code (9:53)
29 Let’s do a full Manual Test (5:20)
30 Introduction to Aws CloudFormation (6:34)
31 Your First CloudFormation Template (Know about the Docs) (9:00)
32 Simplify CloudFormation – What is CDK? (6:26)
33 Install and Configure CDK (3:31)
34 CDK Bootstrapping (2:55)
35 Concept of CDK (Construct) (9:01)
36 Creating Resources with CDK (13:21)
37 Where to go for further help on CDK (2:42)
38 Initialize CDK app in our Project (5:57)
39 Add our First Lambda Function in CDK app (4:33)
40 Add DynamoDB Table, Api Gateway in CDK app (19:06)
41 Deploy our Project with CDK (1:28)
42 Check the Resources in Console and Doing a Test (7:27)
43 Access Environment Variable from Lambda (9:00)
44 Full Test through Postman (3:06)
45 Start Tracking the project with Git (2:46)
46 Understand S3 Event (7:10)
47 S3 Event Handler - DB Update - Typescript Generics (14:54)
48 Starting with the Database Update (6:18)
49 Continuing with Database Update (5:24)
50 Understand the DynamoDB UpdateItemCommand (SDK v3) (15:46)
51 Write Test for the Update (12:52)
52 Add the Event Listener Lambda in our CDK app (5:29)
53 Let’s Test from the Postman again (3:31)
54 What is Process in OS? (6:34)
55 Extract Video Metadata inside Lambda with MediaInfo (14:21)
56 Steps to get the Metadata in our handler (1:35)
57 Get S3 Signed Download URL (11:23)
58 Let’s Decide the Video Resolution (7:52)
59 Write Test for the Video Converter (13:31)
60 Add MediaInfo child process code (8:23)
61 How CDK bundles your files for Lambda (8:38)
62 Where to initiate an object inside a lambda file (9:59)
63 Increase Lambda Timeout and test (7:59)
64 Introduction to AWS Elemental MediaConvert (13:10)
65 Call MediaConvert from our project with SDK (17:58)
66 Create MediaConvert Role with CDK (5:44)
67 Adding new Policy to Lambda Role (11:54)
68 How to capture MediaConvert Event (3:08)
69 Modify the Video Entity (3:56)
70 S3 URI vs Object URL (8:42)
71 Writing Test for Object URL (12:36)
72 Introduction to Aws Event Bridge (7:26)
73 Creating the MediaConvert Event Handler (23:38)
74 Add the MediaConvert Handler Lambda into the Stack (5:34)
75 Add Event Bridge Job Rule into the Stack (5:30)
76 Let’s Do a Full Test! (8:40)
77 One Lambda or Multiple Lambda? (3:32)
78 Start Handling other CRUD operations (7:08)
79 Learn about the Raw AWS ApiGateway Event (4:58)
80 Extract Out the the HttpMethod from Event (6:31)
81 How to Validate the Query Parameters (8:01)
82 Start handling the GET Method (16:08)
83 How to Query DynamoDB Global Secondary Index (10:18)
84 Get all the Videos By UserID (4:56)
85 Change the CDK Stack File (3:23)
86 Let’s Test the Changes (8:11)
87 Introduction to Full-Text Search Engine (4:47)
88 Introduction to Open Search (Elasticsearch) (3:38)
89 Create an OpenSearch Cluster (8:25)
90 OpenSearch Mapping and REST Endpoints (14:38)
91 OpenSearch Query DSL (6:11)
92 OpenSearch from CDK (5:21)
93 Security in OpenSearch (5:06)
94 Access AWS Resource from Postman (8:25)
95 Attach Resource Policy on our Domain (2:41)
96 Deploy the Stack, Access the Domain from Postman (7:43)
97 Create Index and set Lambda Permission (3:49)
98 How Lambda uses the Access Key (9:52)
99 Write Tests for the opensearch client (17:06)
100 Refactoring, create separate class for client (4:05)
101 What is Custom Resource inside CDK (4:42)
102 Create an Opensearch Index Custom Resource (13:24)
103 Give proper Permissions to Custom Resource Provider (1:40)
104 Create Video Index Class (3:54)
105 Insert Document to the Video Index (6:44)
106 Search Documents in the Video Index (7:47)
107 Give Proper Permissions to Lambdas (5:03)
108 Final Test! (6:06)
109 Thank You (0:18)
Appendix - Setup AWS Account
AWS Setup- Intro (0:28)
Create Free AWS Account (2:53)
AWS Console Tour (4:49)
Don't use your root account (3:06)
Install AWS CLI (4:06)
Artefacts
Complete Source Code
87 Introduction to Full-Text Search Engine
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock