Skip to content

Latest commit

 

History

History
52 lines (40 loc) · 1.84 KB

File metadata and controls

52 lines (40 loc) · 1.84 KB

Message Translation System - Technical Test

Overview

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.

Considerations

  • 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

Requirements

1. Data structure

  • Feel free to implement in the way that you want

2. Technical Requirements

Database

  • Implement a database solution (MongoDB recommended)
  • Create appropriate indexes for efficient querying
  • Ensure data consistency and integrity

API Development

  • Create a RESTful API to store the data and return threads that are this messages grouped

Translation Integration

  • 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

Testing

  • Write unit tests for all components
  • Include integration tests for API endpoints
  • Implement test coverage reporting
  • Use pytest for testing

3. Bonus Points

  • 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

Submission

Please provide:

  1. Source code in a Git repository
  2. README with setup and running instructions
  3. Any additional documentation considered relevant