Logo Lanfrica

Jadebat79/project-azubi

Domaine:

natural language processing

Type de record:

software
Créateur:
Jad
Hôte:
Project for AZUBI-Generation Ghana SAA cohort3 # Serverless Text-to-Speech Platform A secure, scalable serverless TTS platform built on AWS that transforms text into high-quality audio using Amazon Polly. ## 🏗️ Architecture The platform uses a fully serverless architecture with these core components: - **Frontend**: React SPA hosted on AWS Amplify - **API**: HTTP API Gateway with Lambda backend - **Processing**: Python Lambda function integrating with Amazon Polly - **Storage**: Private S3 bucket with time-limited pre-signed URLs - **Security**: IAM roles with least privilege access ### Data Flow 1. **User Input** → React UI captures text and voice preferences 2. **API Request** → HTTP API validates and routes to Lambda 3. **Speech Synthesis** → Lambda calls Polly for audio generation 4. **Secure Storage** → Audio saved to private S3 with organized prefixes 5. **Temporary Access** → Pre-signed URL generated with configurable TTL 6. **User Download** → Direct S3 access via time-limited secure link ## 🚀 Quick Start ### Prerequisites - AWS CLI configured - Terraform >= 1.5.0 - Node.js >= 18 - Git repository access ### Deployment 1. **Deploy Infrastructure** ```bash cd infra terraform init terraform apply ``` 2. **Deploy Frontend** ```bash cd TTS-web npm install npm run build # Connect to Amplify via console or CLI ``` 3. **Test API** ```bash # Get available voices curl your-api-id.execute-api.reg… # Synthesize speech curl -X POST your-api-id.execute-api.reg… \ -H "Content-Type: application/json" \ -d '{"text":"Hello world","voice":"Joanna","engine":"neural"}' ``` ## 📁 Project Structure ``` Project-Azubi/ ├── documents/ # Documentation and images │ └── images/ │ └── architecture-diagrams.svg ├── backend/ # Lambda function code │ ├── lambda_function.py │ ├── requirements.txt │ └── tests/ ├── infra/ # Terraform infrastructure │ ├── lambda/ # Copy of lambda …