๐ง TaskMaster Email Service
The TaskMaster Email Service is a dedicated microservice responsible for handling all email communications in the TaskMaster ecosystem.
โจ Features
Email Management
- User registration confirmation emails
- Password reset functionality
- Task reminder notifications
- Due date notifications
- List sharing invitations
- Customizable email templates
- Support for multiple email providers
- Email queue management
- Retry mechanism for failed emails
- Email tracking and logging
Security
- Secure email transmission
- Rate limiting for email sending
- Spam protection measures
- Email validation and sanitization
๐ ๏ธ Technical Stack
- Backend: Node.js, Express.js 5.x
- Email: Nodemailer
- Templating: Handlebars
- Queue: Bull (Redis-based)
- Logging: Winston with daily rotation
๐ Getting Started
Prerequisites
- Node.js (v18 or higher)
- Redis (v6.0 or higher)
- npm or yarn
- Email service provider (SMTP credentials)
Installation
-
Clone the repository:
git clone https://github.com/YourUsername/taskmaster-ms-email.git cd taskmaster-ms-email -
Install dependencies:
npm install
-
Create a
.envfile using.env-exampleas template -
Start the service:
# Development mode npm start
๐ API Endpoints
Email Operations
POST /api/email/send- Send a single emailPOST /api/email/bulk- Send multiple emailsGET /api/email/status/:id- Check email statusPOST /api/email/template- Create/update email templateGET /api/email/templates- List all templates
Email Types
- Registration confirmation
- Password reset
- Task reminders
- Due date notifications
- List sharing invitations
- System notifications
๐ง Email Templates
- HTML and text versions
- Customizable branding
- Dynamic content support
- Responsive design
- Localization support
๐ License
This project is licensed under the ISC License.
๐ฅ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
๐ง Contact
For questions or support, please open an issue in the GitHub repository.
Made with โค๏ธ by Fayyaz AK
On this page
Contributors
Created April 24, 2025
Updated June 23, 2025