-
Notifications
You must be signed in to change notification settings - Fork 3
Email Notification System
The Email Notification System is a component of the Notification Service. It focuses on sending emails triggered by an API request (POST - api/v1/emails), managing email statuses, handling errors, and monitoring email activities.
-
Architecture: This microservice manages email notifications by interfacing with the front end for templates (using
react-email), sending emails vianodemailer, validating data withZod, and storing email logs and metadata in MongoDB. RabbitMQ is utilized to handle email-sending tasks asynchronously.
- React-Email Components: Reusable UI components and templates for emails.
-
Email Service: Manages sending emails using
nodemailer. - Database (MongoDB): Stores email logs, metadata, and tracking information.
- Queue (RabbitMQ): Handles asynchronous processing of email-sending tasks.
- Validation (Zod): Validates incoming email data.
These are the fundamental building blocks for email templates. Initial components include Link, Button, Typography, Image, and Icon. These components are designed to be simple and reusable.
These components are groups of atom components that together form parts of the final email template. Examples include Header and Footer.
Organism components are constructed by combining atom and compound components to create complete email templates. These templates represent different email types, such as WelcomeEmail and ResetPasswordEmail.