Logo Lanfrica

Asli2024/english-somali-dictionary-app

Domaine:

natural language processing

Type de record:

softwaretools
Créateur:
Asl
Hôte:
The English Somali Dictionary App is a production ready, cloud-native translation service built on AWS ECS Fargate and provisioned entirely using Terraform. # English Somali Dictionary App The **English Somali Dictionary App** is a production ready, cloud-native translation service built on **AWS ECS Fargate** and provisioned entirely using **Terraform**. It provides real-time English → Somali translation using **Amazon Bedrock** foundation models, with **optional DynamoDB caching** to improve performance and reduce inference costs. The application is designed to run in two modes: * **Local development** – fast iteration, minimal dependencies, DynamoDB optional * **AWS production** – fully managed, secure, scalable, and highly available --- ## Architecture Overview At a high level, the system consists of: * A **FastAPI container** running on ECS Fargate * An **internal ALB** that is not publicly accessible * **CloudFront** providing HTTPS termination, request routing, and caching control * **Amazon Bedrock** for inference using managed foundation models * **DynamoDB Global Table (optional)** for caching translation results * A **VPC with private subnets**, VPC endpoints, and restricted network access * **IAM roles with least-privilege permissions** * **Observability** via CloudWatch dashboards and alarms --- ## Local Deployment with Docker To run the English Somali Dictionary app locally using Docker: 1. **Build the Docker image:** ```bash cd english-dictionary docker build -t english-somali-dictionary . ``` 2. **Run the Docker container (with required AWS credentials):** ```bash docker run -p 8000:8000 \ -e AWS_REGION=eu-west-2 \ -e AWS_ACCESS_KEY_ID= \ -e AWS_SECRET_ACCESS_KEY= \ -e USE_DYNAMODB=False \ english-somali-dictionary ``` 3. **Access the API at:** localhost 4. **Watch the demo:** Watch Local Demo --- ## Docker Multi-Stage Build The application uses Docker multi-stage builds to optimize image size and security by separating build dependencies from the runtime environment. **Single-Stage Build (122.07 MB):** **Multi-Stage Build (52.68 MB):** **Benefits:** - **56.85% r …