GitHunt
FA

FayyazAK/taskmaster-ms-email

๐Ÿ“ง TaskMaster Email Service

License
Node.js
Express
Nodemailer

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

  1. Clone the repository:

    git clone https://github.com/YourUsername/taskmaster-ms-email.git
    cd taskmaster-ms-email
  2. Install dependencies:

    npm install
  3. Create a .env file using .env-example as template

  4. Start the service:

    # Development mode
    npm start

๐ŸŒ API Endpoints

Email Operations

  • POST /api/email/send - Send a single email
  • POST /api/email/bulk - Send multiple emails
  • GET /api/email/status/:id - Check email status
  • POST /api/email/template - Create/update email template
  • GET /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

FayyazAK/taskmaster-ms-email | GitHunt