LearnWithShobhan

VidShare: Build a Video Streaming Platform on AWS

Build a complete video streaming platform on AWS, step by step.

109 lessons · 12 modules

  • Follow along from architecture to a working platform
  • Lifetime access to all lessons
  • Watch on any device

Curriculum

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

Launch price, for a limited time

Buy now