This technical test involves creating a Python-based system (If you are not a python dev you can try with other tech) for handling and translating messages. The system should be able to process messages, store them in a database, and handle translations while maintaining metadata and relationships between messages.
- In the rawdata you will find on the headers the "Message-ID" that is the identifier to group messages as (Threads)
- Each message has a sender that will match with the user email in the platform in order to filter by this email
- Feel free to implement in the way that you want
- Implement a database solution (MongoDB recommended)
- Create appropriate indexes for efficient querying
- Ensure data consistency and integrity
- Create a RESTful API to store the data and return threads that are this messages grouped
- Integrate with a translation service (e.g., Google Translate API, OpenAI api, Claude...)
- Implement translation functionality for both subject and body
- Handle multiple languages
- Implement error handling for translation failures
- Write unit tests for all components
- Include integration tests for API endpoints
- Implement test coverage reporting
- Use pytest for testing
- Implement message search functionality
- Handle attatchments
- Add authentication and authorization
- Implement rate limiting
- Add message validation
- Include Docker configuration
- Add CI/CD pipeline configuration
- OpenAPI documentation of the API
Please provide:
- Source code in a Git repository
- README with setup and running instructions
- Any additional documentation considered relevant