As part of the ongoing efforts to enhance the Stellar Disbursement Platform (SDP), we aim to integrate SendGrid as an alternative to AWS Simple Email Service (SES) for sending emails. This integration will provide additional flexibility and options for email delivery within the platform.
The task involves creating a new SendGrid email client, adapting message formatting to align with SendGrid's API, and extending the existing email client factory to support this new integration. It will also require adding necessary configurations and ensuring seamless integration into the current system, with a focus on maintainability and scalability.
Changes will likely include:
Create SendGrid Client: Implement a new client similar to awsSESClient for SendGrid. This would involve creating a struct (e.g., sendGridClient) with methods for sending emails using SendGrid's API.
Adapt Message Sending: Adapt the SendMessage method to format messages suitable for SendGrid's API. This might involve creating a new template or modifying the existing generateAWSEmail function.
Configuration Changes: Add necessary configurations for SendGrid (API keys, sender information, etc.) in the MessengerOptions struct.
Factory Modification: Modify the GetClient function in the message package to include a case for creating a SendGrid client based on the MessengerType.
Add SendGrid as a MessengerType: Introduce a new constant (e.g., MessengerTypeSendGridEmail) in the MessengerType enum to represent SendGrid.
Testing and Validation
Unit Tests: Write unit tests for the new SendGrid client ensuring that emails are correctly formatted and sent. Should be able to run them locally.
Error Handling: Implement robust error handling and logging for the SendGrid integration.
Documentation: Update the technical documentation to reflect the new SendGrid integration and its configuration.
Important! - We appreciate you contributing. Please note:
No Timeline Pressure: Take your time. There is no strict timeline to complete the issue. We want you to have a comfortable learning experience.
Feedback and Code Review: We will provide constructive feedback through code reviews to help ensure this is a great learning opportunity.
The goal is to help you get familiar with the project and the contribution process
Documentation: Check out our documentation and step-by-step local dev environment setup instructions in the repository README
As part of the ongoing efforts to enhance the Stellar Disbursement Platform (SDP), we aim to integrate SendGrid as an alternative to AWS Simple Email Service (SES) for sending emails. This integration will provide additional flexibility and options for email delivery within the platform.
The task involves creating a new SendGrid email client, adapting message formatting to align with SendGrid's API, and extending the existing email client factory to support this new integration. It will also require adding necessary configurations and ensuring seamless integration into the current system, with a focus on maintainability and scalability.
Changes will likely include:
Testing and Validation Unit Tests: Write unit tests for the new SendGrid client ensuring that emails are correctly formatted and sent. Should be able to run them locally.
Error Handling: Implement robust error handling and logging for the SendGrid integration.
Documentation: Update the technical documentation to reflect the new SendGrid integration and its configuration.
Important! - We appreciate you contributing. Please note:
No Timeline Pressure: Take your time. There is no strict timeline to complete the issue. We want you to have a comfortable learning experience.
Feedback and Code Review: We will provide constructive feedback through code reviews to help ensure this is a great learning opportunity.
The goal is to help you get familiar with the project and the contribution process
Documentation: Check out our documentation and step-by-step local dev environment setup instructions in the repository README
Thank you!