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 …