-
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
.