
Learn how the course structures setup and foundations for AWS CDK. Build a serverless backend with Lambda, API Gateway, DynamoDB, and Cognito, then a React frontend with testing and CI/CD.
Adjust playback speed to your learning pace, use course resources and Q&A, and check announcements to maximize your Udemy experience while preparing for CDK topics.
Install essentials for using AWS CDK with TypeScript: Node.js, TypeScript, a text editor (preferably VS Code), and an AWS account with an IAM user for the CLI and AWS CLI.
Create an AWS account and configure an IAM user with administrator access for console and CLI access, then install and configure the AWS CLI.
Install and configure the AWS CLI, authenticate with an IAM user using access keys, set default region and JSON output, and verify by listing S3 buckets.
Kick off with the basics of CloudFormation and CDK, explore constructs and commands, and learn deployment parameters. Generate a CDK project, build an S3 bucket stack, and preview local deployment.
Explore AWS CloudFormation as an infrastructure-as-code service, viewing stacks, JSON/YAML templates, and how CDK's synthesize generates a CloudFormation template for deployment, with a hands-on bucket example.
Install AWS CDK globally, initialize a TypeScript CDK project, and explore the project structure (bin, lib) and the cdk.json app entry for deployable stacks.
Explore essential resources for AWS CDK, including the AWS construct library documentation and the official CDK GitHub page, to access usage guides, code examples, and issue insights.
Deploy a basic AWS CDK stack by bootstrapping the environment, configuring the AWS CLI, and using synth and deploy to generate CloudFormation templates and manage stacks.
Discover the three levels of AWS CDK constructs—low level (l1), level two, and patterns (l3)—and how they streamline resource creation, reduce boilerplate, provide type safety, and align with CloudFormation stacks.
Explore creating AWS resources with CDK constructs, including L2, L1, and L3 buckets, configuring lifecycle expiration, and deploying with CDK synth and deploy to verify changes.
Explore essential AWS CDK commands, from init and bootstrap to synth, deploy, diff, and destroy, with practical tips for managing stacks and CloudFormation templates.
Explore CloudFormation outputs and their role in sharing data between stacks; use the CFN output construct in CDK to publish bucket names after deployment and view them in CloudFormation outputs.
Learn to pass CloudFormation parameters in CDK deployments with the CFN parameter construct, including defaults, min/max, and number types. See how a duration parameter updates the bucket lifecycle rule.
Recap the CDK and CloudFormation basics, including deployment and parameter passing, then perform cleanup using CDK destroy while understanding the orphaned removal policy on CDK-created S3 buckets.
Advance through aws CDK and CloudFormation topics, learn about CDK IDs and CloudFormation intrinsic and built-in functions, and manage information across multiple stacks using CloudFormation and CDK approaches.
Understand how CDK assigns a construct id as the CloudFormation logical id, how the physical id and ARN identify resources, and how to override the logical id to prevent recreation.
Examine CloudFormation intrinsic functions, especially the ref function, and see how CDK synthesizes code into a template to deploy resources with stack suffix-based naming.
Discover why to use multiple stacks in a CDK and CloudFormation setup, organizing resources by state, sensitivity, and deployment time, and learn how to reference resources across stacks.
Discover cross stack references in AWS CDK by exporting a bucket from one stack and importing it into another, enabling a lambda to use the shared resource and deployment order.
Learn to share data between CDK stacks by passing the photo bucket arn from the photo stack to the photos handler stack using stack props and a public read-only field.
Explore AWS CDK aspects, using the visitor pattern to inspect and modify resources after creation, such as tagging buckets, and enforcing security best practices with CDK Nag.
Understand the correct order to delete interdependent CDK stacks by removing non-referenced stacks first, then those that depend on them, and finally the data stack, enabling clean redeployment.
Build a serverless app from scratch with CDK and cloud formation, linking api gateway, lambda, and DynamoDB across api, data, and lambda stacks to serve data at an endpoint.
Initialize a new aws cdk project from scratch by manually setting up npm, dev dependencies, typescript, ts-node, and a structured infra with a launcher and data stack.
Create a basic AWS lambda with CDK, place code in a services folder, write hello.js with a main async function returning a 200 response, then synth and deploy.
Build an api gateway with a rest api linked to a lambda via CDK, exposing a spaces get method and testing the deployed url.
Create a DynamoDB table in the data stack with a string partition key ID and a unique stack suffix, then export it for Lambda and API gateway.
Explore AWS Lambda with TypeScript by bundling, testing, and debugging using the CDK Node.js Lambda construct, reading CloudWatch logs, and applying the AWS SDK v3 in VS Code.
Explore common AWS lambda challenges in TypeScript, including dependency management and bundling, and learn how NodeJS function in CDK with esbuild handles tree shaking and TypeScript compilation.
Build a Node.js lambda in TypeScript with API Gateway proxy event types, returning Hello from Lambda. Use CDK, esbuild, and UUID, then deploy and test with CloudWatch.
Learn how to view lambda logs in CloudWatch, navigate log groups and log streams, and interpret API gateway request data to debug AWS resources and CDK-created logs.
Learn the AWS SDK for JavaScript v3, with per-resource packages, the client and command pattern, and TypeScript support, to list S3 buckets from Lambda.
Debug AWS Lambda locally using VS Code with a launch.json configuration, invoke the function without redeploying, and view instant feedback via breakpoints and CloudWatch logs.
Explore the AWS lambda architecture and compare single lambda, resource-scoped lambdas, and monolithic approaches. Learn the benefits of multiple lambdas and practice building a two-method lambda with API Gateway routing.
Develop an initial spaces lambda that handles multiple HTTP methods via an API gateway proxy result to serve the spaces table. Deploy with CDK and test get and post responses.
Build a DynamoDB table and write NoSQL queries (put item, scan, get item, update, delete) using AWS SDK v3 marshalling, with Lambda and API gateway in a serverless web app.
Demonstrates creating a post handler for DynamoDB in TypeScript, generating a UUID, saving id and location with put item, and wiring API Gateway proxy responses and CDK deployment.
Test the deployed stack by posting JSON to the API gateway and verify the DynamoDB item with a created id and location, using VS Code or Node.js for rapid feedback.
Learn to fetch data from DynamoDB with the scan and get item operations, implementing a get spaces endpoint that returns all spaces or a specific space by ID, with testing.
Learn to retrieve an item from DynamoDb using a query string parameter ID with a get item command, handle missing or not found cases, and return 200 or 404 responses.
Learn to marshal and unmarshal DynamoDB data to remove attribute types and fix undefined errors, using either the AWS SDK util DynamoDB or the DynamoDB document client.
Learn to perform a DynamoDB update item operation with a put request, using update expression and expression attribute values and names to update an id, and parse API Gateway events.
Learn to perform a DynamoDB delete item by id with the delete item command, using the query string parameters to pass the id. Return a 200 response confirming deletion.
Define a TypeScript-based space entry interface and a validator to enforce required fields, throwing a missing field error for missing id or name and supporting marshalling.
Deploy and test your serverless API on aws by configuring dynamodb rights in the lambda, deploying via cdk, and validating get, post, put, and delete operations with error handling.
Implement robust json parsing with a dedicated json error to return 400 on invalid input, and move uuid generation behind utils to switch to native crypto for smaller, faster bundles.
Choose to continue building a serverless CDK application with authentication and a basic UI, or jump to monitoring, testing, and CI/CD while navigating CDK’s evolving landscape.
Learn to secure freshly created APIs with AWS Cognito, create user pools with CDK Indexer, and enforce basic authentication using JWT tokens to authorize API calls.
Learn how AWS Cognito combines user pools and identity pools to provide authentication with JWT tokens and fine-grained access for end users.
Explore the AWS Cognito service by creating a user pool and configuring a username-based login. Learn about user pools, federated identities, and the application client, with CDK in next lecture.
Build a Cognito user pool and user pool client with AWS CDK inside a dedicated auth stack, exposing pool and client IDs via CFN outputs.
Test a Cognito user pool by creating and activating a user via the console, then set a permanent password with the AWS CLI to enable login.
Learn to generate Cognito tokens from code by configuring AWS Amplify with a user pool, signing in, and retrieving the ID token via fetchAuthSession to authorize API calls.
Understand how jwt tokens secure internet apis by detailing their header, payload, and signature, and why the payload cannot be altered without breaking the signature.
Secure your spaces API by integrating a Cognito user pool authorizer with CDK, configuring the authorization header and identity source, and validating JWT tokens.
Learn to implement fine-grained access control with Cognito user groups by creating an admins group, parsing groups from API Gateway events, and restricting sensitive operations like delete spaces to admins.
Learn how to authorize the S3 SDK calls from web, mobile, or desktop apps using Cognito identity pools, temporary credentials, and IAM roles. Implement with CDK and test locally.
Learn how to configure aws cognito identity pools in the console, selecting authenticated or guest access, wiring to user pools or providers, and assigning roles for authenticated and guest users.
Configure a CFN identity pool inside authentication stack, enable unauthenticated identities, attach cognito identity providers using user pool client ID and provider name, and expose pool ID as CFN output.
Create and attach authenticated and unauthenticated IAM roles to a Cognito identity pool using CDK, implement role mappings, and configure a role attachment for deployment.
Generate temporary credentials from a Cognito identity pool using Amplify and the AWS SDK, obtaining an ID token and mapping logins to identity.
Generate and test AWS temporary credentials, grant admin role S3 list permissions, connect admins group via the role ARN, and verify access via the AWS SDK with Cognito identity pools.
Build a basic UI for an AWS backed application, export CloudFormation outputs for the app, and deploy to S3 with optional CloudFront for fast feedback and mobile access.
Export CloudFormation outputs to a json file with cdk deploy --outputs-file, enabling your user interface to read deployment values; simplify with an npm script and reuse outputs in the app.
Use CDK to deploy a local UI to AWS, creating a deployment bucket, bucket deployment, and origin identity, then serve index.html via a CloudFront distribution.
Master CORS by adding Access-Control-Allow-Origin and Access-Control-Allow-Methods headers to API gateway proxy results, configuring preflight options, and preparing your AWS backend to serve web browsers.
AWS and Typescript are 2 of the most demanded technologies in today's IT market. AWS Cloud Development Kit - CDK brings a great new development experience.
Now you can use your preferred programming language for your business logic, cloud infrastructure, but also for the UI, with React.
Now you can build serverless applications much easier!
This AWS & Typescript Masterclass course is what you need to build your apps like a pro, learning from an programming active instructor!
What you can expect from this course:
In depth coverage of AWS Cloud Development Kit - CDK
Setup
CDK constructs
CDK versions
Deploying and managing CDK apps
Best practices with CDK
Infrastructure as code with AWS Cloud Formation
Console view
Cloud Formation Deployment stages
Resources management
Cloud Formation Outputs
Cloud Formation Parameters
Build highly scalable and cost efficient apps with the serverless architecture
Serverless computing services
AWS Lambda:
Write, test, bundle, deploy, configure
Use the best practices
Go deep into advanced techniques with Lambda and CDK
Use Typescript and the NodeJS as environment for Lambda
AWS DynamoDB:
Basics and console access
DynamoDB queries
DynamoDB sdk (TypeScript) calls from AWS Lambda
CDK generic constructs with DynamoDB, ApiGateway and Lambda
AWS Cognito:
User pools
Identity pools
Console access
IAM role management inside Cognito
Cognito groups for fine grained access control
AWS S3 for file storage
Build a monitoring stack with CDK - CloudWatch alarm, SNS topic and Web-hook lambda - Slack channel
AWS CloudWatch X-RAY
CDK testing with Jest:
Declarative tests
CDK test matchers
captors
CI/CD with CodePipeline:
CDK stages, test and deployment to production
Another important point of this course is the Typescript programming language. It is fast, flexible, powerful and easy to learn.
Typescript takes the flexibility of JavaScript and the programming principles of C# and delivers a great coding experience.
This course uses Typescript for:
Cloud infrastructure with AWS CDK
Business logic with AWS Lambda
Web application UI with React
We finally can write all our app in one language, no more JSON, or YAML, or strange scripts, just Typescript, your favorite language!
Why this course stands out from other Udemy courses:
Beyond the basics - after finish, you can directly use this knowledge into production code
Practical knowledge - presentations are kept to a minimum, we focus on what is really important
Logical and flexible structure - take the course at your own pace
Fast paced, concise, most typing cut out - focus on explanations - respect for your time
Code changes in each lecture on Git with code diffs
Big font, dark background, fullHD content, this way it is readable even on a small screen or even tablet.
Lifetime access
Certificate of completion to present to your current or prospective employer
Q&A active instructor
Instructor:
My name is Alex Horea, I'm an active senior web and Cloud developer and I want to pass you the knowledge I wish I had when I was a beginner. I strongly believe that practice is the best way to learn, and in this course we will be practicing TypeScript in 4 ways:
As cloud infrastructure with CDK
Business logic with AWS Lambda
UI with React
Cloud helper topics like monitoring, testing and CI/CD, with CDK
Go beyond the theory and learn from an active instructor, aligned with today's programming demands!