Skip to content

Image Gallery Architecture and Tech Stack

goldy4719 edited this page Apr 10, 2026 · 1 revision

This section details the serverless architecture and specialized tools used to build the image recognition and management gallery. The stack is designed for high availability, automated scaling, and secure user data isolation.


Overview

The application utilizes a decoupled serverless architecture, leveraging React for a dynamic frontend and Python-based AWS Lambda functions for backend logic. This design ensures that compute resources only run when needed, minimizing costs while maintaining the ability to handle fluctuating user traffic.

Prerequisites

  • AWS CLI configured with appropriate IAM permissions.
  • Node.js and npm for managing React and Amplify dependencies.
  • Python 3.x for local Lambda development and testing.
  • Amplify CLI initialized within the project directory.

Implementation / Tech Stack

1. Frontend Framework

  • React.js: Handles the component-based UI, providing a fast and responsive user experience.
  • AWS Amplify: Simplifies the integration between the React frontend and backend cloud services, managing the deployment pipeline and client-side authentication logic.

2. Backend Logic (APIs)

  • Python: Used for all Lambda functions due to its readability and robust support for the Boto3 library, which facilitates seamless interaction with AWS services.
  • AWS Lambda: Executes backend code in response to triggers (such as file uploads or API calls) without the need to manage servers.

3. Infrastructure and Storage

  • Amazon S3: Serves as the primary object storage for all high-resolution image uploads.
  • Amazon Cognito: Manages user registration, sign-in, and secure access control, ensuring users only interact with their own data.
  • Amazon DynamoDB: A NoSQL database that stores image metadata, including userID, imageID, uploadTimestamp, and the labels generated by AWS Rekognition. Amazon API Gateway: Acts as the secure entry point for the frontend to communicate with Lambda functions, handling request routing and security.

Clone this wiki locally