Skip to content

Add Email Notification Service with Templating #81

Description

@Mkalbani

Description

Integrate an email notification service that sends transactional emails for key game events — welcome on registration, password reset, achievement unlocked, weekly score summary. Emails should be templated, branded, and delivered via a configurable SMTP provider or third-party service like SendGrid. The service should queue emails asynchronously to avoid blocking API responses.

Acceptance Criteria

  • An email module is scaffolded at src/email/
  • Templates exist for: welcome, password-reset, achievement-unlocked, and weekly-summary
  • Emails are queued via a Bull/BullMQ job queue and sent asynchronously
  • Provider (SMTP or SendGrid) is selected and configured via environment variables
  • Failed sends are retried up to 3 times with exponential backoff
  • POST /admin/email/test (admin-only) sends a test email to a specified address
  • Players can opt out of non-critical emails via PATCH /users/me/email-preferences
  • Unit tests cover template rendering, queue submission, retry logic, and opt-out enforcement

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions