WORKSHOP : SERVERLESS ON AWS
Build a Photo-Sharing Web App with AWS Amplify and AWS AppSync
By Gabe Hollombe (AWS) and Srushith R (KonfHub)
7th March (10:00AM to 5:00PM), Radisson Blu, Bangalore
What is covered
In this workshop, we'll use React to build a data-driven web app that lets users upload photos to secure photo galleries. We'll use AWS AppSync to get up and running quickly with a GraphQL API that backs our data in Amazon DynamoDB. In addition, we'll demonstrate how to use the AWS Amplify library to authenticate users, communicate with our API, and manage photo uploads. Finally, we add in AI-powered object tagging using Amazon Rekognition with tag search provided using Amazon Elasticsearch Service, allowing users to discover photos by AI detected labels without any manual data entry.
What we’ll build
- Allowing user sign up and authentication, so we know who owns which photo albums
- Building an API server, so our front end has a way to load the appropriate albums and photos to show a given user
- Storing data about albums, photos, and permissions of who can view what, so that our API has a fast and reliable place to query and save data to
- Storing and serving photos, so we have a place to put all of the photos that users are uploading to albums
- Automatically creating photo thumbnails, so we don’t need to deliver full-resolution photos when users browse a photo album’s list of photos
- Automatically detecting relevant labels for each uploaded photo and making photos searchable based on these labels
We’ll use a number of these services and tools in our solution, including:
- The AWS Amplify CLI , to rapidly provision and configure our cloud services
- Amazon Cognito, to handle user sign up authorization
- Amazon Simple Storage Service (S3), to store and serve as many photos as our users care to upload, and to host the static assets for our app
- Amazon DynamoDB, to provide millisecond response times to API queries for album and photo data
- AWS AppSync, to host a GraphQL API for our front end
- AWS Lambda, to create photo thumbnails asynchronously in the cloud
- Amazon Rekognition, to detect relevant labels for uploaded photos
- Amazon Elasticsearch Service, to index and search our photos by their labels
If any or all of these services are new to you, don’t worry. We’ll cover everything you need to know to get started using everything mentioned above.
AWS Account: In order to complete this workshop you'll need an AWS Account with access to create the above mentioned AWS services. See the AWS Free Tier page for more details.