AWS Portfolio Project: Build an End-to-End Web Application with 7 Services | Step-by-Step Tutorial

Опубликовано: 02 Ноябрь 2023
на канале: Tiny Technical Tutorials
85,137
3.1k

When you’re new to AWS, it can be difficult to wrap your head around ALL the services available, and how they actually fit together to build a working application. Or maybe you're just looking for a more robust project you can put on your resume? Well, you've come to the right place! That’s what we’re tackling in this video! (I also have another AWS project video that you might enjoy here:    • AWS Project: Architect and Build an E...  .)

In this hands-on tutorial, I’ll walk you through how to build a ride sharing app (for unicorns!), pulling from the AWS Wild Rydes sample project. We’ll use seven different services—CodeCommit, Amplify, Cognito, Lambda, IAM, API Gateway and DynamoDB—talking about why/where to use them, and how to get them to work with each other. As we go, we’ll build out each of the services, resulting in a fully-functioning ride sharing application when we’re done.

🤓 To follow along, you’ll need:
• A text editor or place to make notes
• An AWS account and access to the Console (video here if you need help:    • Create a Free AWS Account in 2021 | A...  )
• Some basic knowledge of AWS is preferable, but you can still follow along if you’re an absolute newbie
• An ArcGIS account for mapping functionality (free and easy to create at arcgis.com)

🤓 Here’s all the code you’ll need to build the application:
• **IMPORTANT**: AWS has deleted/locked down their S3 bucket where the code lived. At 11:16, use this command instead (copies from my own S3 bucket): aws s3 cp s3://ttt-wildrydes/wildrydes-site ./ --recursive
• Lambda function and test event code: https://docs.google.com/document/d/1M...

🤓 Here are some other videos for services referenced in the video:
• Amplify:    • AWS Amplify (Gen 1) in Plain English ...  
• Lambda:    • Create Your First AWS Lambda Function...  
• DynamoDB:    • Amazon/AWS DynamoDB Tutorial for Begi...  
• IAM:    • AWS Identity and Access Management (I...  
• API Gateway:    • Create a REST API with API Gateway an...  

🌟🌟If you’re interested in getting AWS certifications, check out these full courses. They include lots of hands-on demos, quizzes and full practice exams. Use FRIENDS10 for a 10% discount!
AWS Certified Cloud Practitioner: https://academy.zerotomastery.io/a/af...
AWS Certified Solutions Architect Associate: https://academy.zerotomastery.io/a/af...

Code taken from the AWS Wild Rydes lab: https://aws.amazon.com/getting-starte...

Timestamps
00:00 – Give us more AWS project videos!
00:16 – Overviewing the completed Wild Rydes application (an AWS sample project)
01:16 – A list of all the services used in the application
01:27 – What will this cost me?
01:46 – What you need to follow along (tools and accounts)
02:06 – Using an ArcGIS account for the mapping functionality
02:28 – High-level requirements for the application
03:23 – How to set up an AWS CodeCommit repository and copy the project code from S3
03:51 – Make a note of the region you’re working in
04:39 – Creating a new repository in AWS CodeCommit
05:22 -Adding a policy to an IAM user to allow access to CodeCommit
06:39 - Creating Git credentials to allows HTTPS connections to CodeCommit
07:44 – Clone the CodeCommit repository using CloudShell
10:46 – Copy code from an S3 bucket to CloudShell
12:26 – Pushing code to CodeCommit with git add, git commit and git push
15:33 – Creating a new app for hosting in AWS Amplify
17:47 – Testing out the Amplify deployment by launching our website
18:04 - Updating code in CodeCommit to kick off continuous deployment in Amplify
19:51 – Setting up Amazon Cognito for user authentication
20:58 – Creating a new user pool in Amazon Cognito
23:35 – Updating the app configuration file to use the Amazon Cognito user pool
24:56 – Testing Cognito integration by doing user registration and login
26:50 – Implementing ride sharing functionality with Lambda and DynamoDB
28:03 – Creating a new DynamoDB table
29:19 – Creating an IAM role to be used for a Lambda execution role, allowing PutItem on DynamoDB table
32:17 – Creating a new Lambda function to choose a unicorn and write the ride sharing info to DynamoDB
35:44 – Deploying Lambda code and executing a test event
37:08 – Testing that items are saved to the DynamoDB table
38:03 – Setting up API Gateway to invoke the ride sharing functionality
38:51 – Creating a new REST API in API Gateway to invoke a Lambda function
40:06 – Creating an authorizer so API Gateway can work with Cognito
41:42 – Creating a resource and POST method in API Gateway for Lambda integration
43:39 – Deploying the API from API Gateway
44:08 – Updating the config file for the new Invoke URL from API Gateway
44:42 – Updating the ArcGIS version number in the ride.html file
45:36 – Testing our final application—WOOT!
47:17 – IMPORTANT!! Delete your resources (I’ll show you how)