Skip to main content

Introduction

Author: Georgi Peev

The Email Service handles email communications - it uses Brevo as the email delivery provider and provides a REST API for email management. The service runs on port 5001 and includes subscription management capabilities.

Purpose

The service is designed to:

  • Send formatted email notifications using customizable templates
  • Manage email subscriptions and topics
  • Generate and distribute daily country reports
  • Maintain consistent branding across all email communications
  • Track subscriber preferences and unsubscribe requests

Key Features

  • REST API Endpoints:

    • /send-email: Send emails to recipients
    • /subscribe: Manage topic subscriptions
    • /unsubscribe: Handle unsubscribe requests
    • /topics: List available topics
    • /daily-reports/countries: Retrieve countries with daily reports
  • Email Templates:

    • HTML templates with responsive design
    • Separate CSS styling for maintainable designs
    • Dynamic content injection via template variables
  • Integration:

    • Brevo API for reliable email delivery
    • MongoDB for subscription and configuration storage
    • Configurable sender identity (name and email)
    • Base URL configuration for links