Skip to content

feat(backend): add email notification service for course and credential events. - #138

Merged
jobbykings merged 1 commit into
Epondia:mainfrom
Kami-no-san:fix/issue-121-email-notification-service
Jun 28, 2026
Merged

feat(backend): add email notification service for course and credential events.#138
jobbykings merged 1 commit into
Epondia:mainfrom
Kami-no-san:fix/issue-121-email-notification-service

Conversation

@Kami-no-san

Copy link
Copy Markdown
Contributor

closes #121

…al events (fixes Epondia#121)

- Create EmailService with pluggable provider abstraction (SendGrid/AWS SES/SMTP)
- Create 6 responsive HTML email templates with plain-text fallbacks:
  enrollment confirmation, credential issued, payment receipt,
  assignment graded, password changed, new login alert
- Implement rate limiting (max 10 emails/user/hour)
- Implement retry with exponential backoff (3 attempts max)
- Add email preference management per event type
- Add email event tracking (sent, delivered, opened, bounced, failed)
- Add admin resend capability for failed emails
- Wire up email triggers in Enrollment, Payment, Assignment, and User controllers
- Add EmailPreferences type to User model
- Register email queue handler at app startup in index.js
- Add 25 unit tests for templates, preferences, rate limiting, delivery, retry, events
- Document EMAIL_PROVIDER, EMAIL_FROM, SENDGRID_API_KEY env vars in SETUP_GUIDE.md
@jobbykings
jobbykings merged commit ee75102 into Epondia:main Jun 28, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Backend] Add email notification service for course and credential events

2 participants