Business Implications


Steps Performed
Hosted a React UI on Amplify, modeled terms in DynamoDB, exposed a GET endpoint via API Gateway, and implemented Lambda to fetch definitions with CORS-enabled responses.
1.
Host Frontend On AWS Amplify
Cloned the React app, created a new GitHub repository, and connected it to AWS Amplify. Amplify detected build settings, provisioned hosting, and enabled CI/CD so each push auto-deploys the latest UI.
2.
Provision DynamoDB CloudDefinitions Table
Created CloudDefinitions with partition key term (String). Loaded seed data via batch write JSON files using AWS CLI, then verified items under the Items tab for quick querying and testing.
3.
Create Lambda For Lookups
Implemented a Python 3.12 Lambda (FetchTermFromDynamoDB) that parses queryStringParameters.term, retrieves the item via GetItem, and returns JSON with CORS headers. Attached an execution role granting DynamoDB read and CloudWatch logging.
4.
Expose GET Endpoint Via API Gateway
Built a REST API resource /get-definition with GET method using Lambda proxy integration. Enabled CORS (methods, headers, origins), deployed to /dev, and captured the Invoke URL for frontend integration.
5.
Integrate Frontend And Test
Updated apiUrl in the React app to the stage URL, pushed to GitHub, and verified Amplify redeployed automatically. Tested queries (e.g., “AWS KMS”) to confirm lookups and error handling for missing terms.
AWS Services Used
AWS Amplify
AWS Lambda
Amazon API Gateway
Amazon DynamoDB
AWS IAM
Amazon CloudWatch
React (Vite/CRA)
JavaScript / Node & Python
AWS CLI
Git & GitHub
Technical Tools Used
Serverless API Design
React App Deployment
NoSQL Data Modeling
CI/CD With Amplify
Skills Demonstrated

Serverless Cloud Dictionary
React Frontend With Lambda, API Gateway, DynamoDB
Built a serverless dictionary where users search cloud terms and retrieve definitions via a React frontend hosted on AWS Amplify. API Gateway routes requests to Lambda, which reads from DynamoDB. The result is a secure, scalable, pay-as-you-go reference app.






