Skip to content

feat: Notification Engine v2 (preferences, templates, in-app notifica…#403

Merged
Cedarich merged 5 commits into
Pulsefy:mainfrom
Babigdk:feat/be-notifications-v2
May 1, 2026
Merged

feat: Notification Engine v2 (preferences, templates, in-app notifica…#403
Cedarich merged 5 commits into
Pulsefy:mainfrom
Babigdk:feat/be-notifications-v2

Conversation

@Babigdk
Copy link
Copy Markdown
Contributor

@Babigdk Babigdk commented Apr 28, 2026

Closes #244

🚀 BE-09: Notification Engine v2

Summary

This PR introduces a centralized notification engine supporting multi-channel delivery (email, push, in-app), user preferences, and templated messages.


✨ Features

🔔 Notification Preferences

  • Per-user, per-event configuration
  • Channel-level toggles:
    • Email
    • Push
    • In-app

🧠 Template Engine

  • Deterministic rendering using placeholder interpolation
  • Standardized templates for:
    • subject
    • title
    • body

📥 In-App Notifications

  • Persistent storage
  • Pagination support
  • Sorted by latest first

✅ Read Management

  • Mark single notification as read
  • Mark all notifications as read

📡 API Endpoints

Method Endpoint Description
GET /notifications List notifications (paginated)
POST /notifications/:id/read Mark one as read
POST /notifications/read-all Mark all as read

🧪 Testing

  • Unit tests updated for service and preferences
  • Verified deterministic template rendering

✅ Acceptance Criteria

  • Preferences enable/disable by type/channel
  • In-app notifications paginated
  • Templates deterministic

⚠️ Notes

  • Default preference fallback = enabled
  • Future extension: SMS channel

📦 Impact

  • Improves user engagement
  • Enables scalable notification system
  • Foundation for future channels

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Apr 28, 2026

@Babigdk Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Cedarich
Copy link
Copy Markdown
Contributor

Cedarich commented May 1, 2026

Kindly fix failing build

@Cedarich
Copy link
Copy Markdown
Contributor

Cedarich commented May 1, 2026

Please check build

@Babigdk
Copy link
Copy Markdown
Contributor Author

Babigdk commented May 1, 2026

on it

@Cedarich
Copy link
Copy Markdown
Contributor

Cedarich commented May 1, 2026

Fix build

@Cedarich Cedarich merged commit 61e8740 into Pulsefy:main May 1, 2026
1 check 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.

BE-09: Notification Engine v2 (Preferences, Channels, Templates)

2 participants