You are on page 1of 17

AWS caseStudy/Assignment

Ayush Kumar

SD
ayush.kumar01@quantiphi.com

Problem statement-
Problem Statement
Use AWS and develop a Simple Serverless application to Upload Files to S3
(This example is explained with AWS but you can also work with GCP with equivalent GCP
tools)
Serverless Application:
Frontend: React.js App - Deploy in S3, (Optional - Deploy CloudFront in Front of S3). Option to
host Frontend - AWS Amplify Service
Backend: Python with Lambda, API gateway - (Get, Put) to upload some objects in to S3 from
application.
(Optional: Create Aurora Serverless/MySQL RDS/DynamoDB (Any DB which is available in free
tier or cost effective))
(Optional: Upon object upload in S3, It should trigger and lambda and update object name in DB.
DB table can be flexible and have minimal records such as Sr No, Object Name, File
Type/Extension) Infra Deployment: Using CloudFormation

There should be a FrontendApp where you can upload files directly to S3. This should be
facilitated using Lambda. Once file uploaded to S3, these information should be recorded in DB
and Reverts and status to Frontend

Request Flow: User -> Browser (FrontendApp)-> Uploads File -> Request goes to API gateway ->
Lambda gets called -> Lambda Uploads file to S3 -> Lambda Connects DB and inserts records
details -> Reverts and status to Frontend -> Frontend Shows Upload Status.
Solution-
Architecture Flow of the
assignment

Screenshots-
Frontend view
File Selection:-

Successfully Adding File:-


API gateway (showing Post Request)➖
Code for Lambda Function in NodeJs-
File Uploading in S3-
Code for React Frontend-

You might also like