-
Notifications
You must be signed in to change notification settings - Fork 8
AWS Architecture
- IAM roles with FullAccess or granular permissions for S3, Lambda, Rekognition, DynamoDB, and Cognito.
- A designated S3 Bucket for media storage and a DynamoDB table for metadata.
- An active Amazon Cognito User Pool for secure session management.
-
Identity Management (Login Pipeline): Users authenticate via Amazon Cognito. The service verifies credentials against a User Pool and returns a JWT (JSON Web Token) to the frontend. This token authorizes all subsequent requests to the application’s backend resources.
-
Asset Ingestion (Upload Pipeline): The frontend compresses the image and uploads it directly to an Amazon S3 bucket.
-
Event-Driven Processing: The S3 "PutItem" event triggers an AWS Lambda function. The Backend team’s logic generates a pre-signed URL, providing the system with temporary, secure access to the image without making the bucket public.
-
AI Analysis (Rekognition Pipeline): The Lambda function passes the pre-signed URL to Amazon Rekognition. The service performs object detection and returns a JSON object containing identified tags and confidence scores.
-
Metadata Persistence: The analyzed tags, along with system metadata (timestamp, user ID, file size), are stored in Amazon DynamoDB.
-
Data Retrieval (Gallery Pipeline): When a user views the gallery, the frontend calls Amazon API Gateway. This triggers a Lambda function to query DynamoDB and return the image links and associated tags to the UI.