This project is a Telegram bot designed for text translation using a microservices architecture, leveraging multiple programming languages (Python and Go) and deployed on AWS using Docker and Kubernetes (AWS EKS). The bot supports interactions with users for translating text, while backend services handle translation requests, user authentication, text processing, and monitoring.
- Telegram Bot: Receives user input, forwards it to the translation service, and returns the translated text.
- Translation Service: Uses OpenAI's GPT-4 Omni Mini for translating text and returns results to the bot.
- Text Processing Service: Performs spelling, grammar checks, and adapts translations for different audiences.
- User Authentication: Manages user accounts and supports social logins with JWT-based authentication.
- Analytics and Monitoring: Collects user activity data, tracks performance metrics, and logs requests using Prometheus, Grafana, and EFK Stack (Elasticsearch, Fluentd, Kibana).
- Scalable Infrastructure: Built using Docker for containerization and Kubernetes for orchestration, ensuring scalability and reliability.
- Languages: Python, Go, Java
- Infrastructure: AWS EKS, Docker, Kubernetes
- Monitoring: Prometheus, Grafana, EFK Stack
- Database: PostgreSQL
- Security: Kubernetes Secrets, JWT-based authentication
- External API: OpenAI GPT-4 for translation
- Clone the repository.
- Build Docker images for each service using the provided
Dockerfile
. - Apply Kubernetes manifests (Deployment, Service, Ingress) to deploy services to AWS EKS.
- Set up Prometheus and Grafana for monitoring, and EFK Stack for logging.
- Follow the documentation for service deployment, monitoring, and scaling.
Contributions are welcome! Please follow the contribution guidelines.
NOTICE: This project is licensed under the Apache License 2.0 for open-source, non-commercial use. For commercial use of this software, including the creation of services or products based on the software, please obtain a separate commercial license by contacting [email protected].
Terms of the commercial license will include royalties or revenue-sharing agreements.