DEV Community

Emmanuel Akolbire
Emmanuel Akolbire

Posted on

Project Translate : Architecture

Project Translate is a REST API service that provides translation capabilities for both text and files across multiple languages. It is built on AWS serverless infrastructure for scalability, cost-effectiveness, and operational flexibility.
In this series, I'll take you through the complete process of building and deploying Project Translate. We'll explore each step of the development journey, from initial setup to production deployment.

Architecture

Project Translate's architecture

API Gateway
Serves as the entry point for all REST API requests, handling request routing based on endpoint paths. It provides request validation and rate limiting.

Lambda Functions
The lambda functions process the requests and translate the files and text with AWS Translate.

S3 buckets and DynamoDB
The S3 buckets are used to store input and output files and the DynamoDB table is used to store input and output text.A DynamoDB table is also used to throttle requests to the API

Request Flow

  1. Client sends a translation request to the API Gateway
  2. API Gateway routes the request to the appropriate Lambda function
  3. Lambda function validates the request and checks throttling limits
  4. For text translation:
    • Lambda processes the text directly with AWS Translate
    • Results are stored in DynamoDB
  5. For file translation:
    • File is uploaded to S3 input bucket
    • Lambda triggers translation process
    • Translated file is stored in S3 output bucket
  6. Response is returned to the client

Top comments (0)