Skip to content

Fix #721: Implement Omnichannel Notification Delivery & Template Life#726

Merged
Renu-code123 merged 1 commit intoRenu-code123:mainfrom
SatyamPandey-07:feature/notification-engine-721
Feb 21, 2026
Merged

Fix #721: Implement Omnichannel Notification Delivery & Template Life#726
Renu-code123 merged 1 commit intoRenu-code123:mainfrom
SatyamPandey-07:feature/notification-engine-721

Conversation

@SatyamPandey-07
Copy link
Copy Markdown
Contributor

Key Features Implemented:

Omnichannel Template Engine: Created

models/NotificationTemplate.js
, allowing notification content to be defined as data in MongoDB. Each template supports content for Email, Push, SMS, and In-App feeds, enabling "Write Once, Route Anywhere" efficiency.
Granular User Preferences: Developed

models/NotificationPreference.js
, which gives users fine-grained control over which notifications they receive and through which channels. It includes support for global unsubscription and per-slug channel toggling.
Intelligent Dispatch Orchestrator: Built

services/notificationOrchestrator.js
, the central brain of the notification system. It handles template retrieval, user preference enforcement, and multi-channel routing (simulating real integration with SendGrid, FCM, etc.).
Flexible Template Resolver: Created

utils/templateResolver.js
, an interpolation utility that safely injects runtime variables (like transaction amounts or user names) into templates across all channels.
Anti-Spam Security Guard: Implemented

middleware/notificationGuard.js
, which enforces frequency caps and rate limiting to prevent notification flooding and ensure a premium user experience.
Expanded Content Library: Heavily refactored

templates/notificationTemplates.js
to include over 20 professional templates for budgets, security, onboarding, and monthly reports, providing a robust starting point for the engine.
Service-Wide Decoupling:
Refactored

listeners/EmailListeners.js
to trigger onboarding and security alerts through the orchestrator.
Updated

listeners/AuditListeners.js
to automatically dispatch multi-channel budget alerts when high-value transactions are detected.
Management API: Created

routes/notifications.js
, providing endpoints for auditing templates and manually triggering system notifications for administrative use.
Technical Specification: Documented the entire design and integration flow in

NOTIFICATION_SPEC.md
closes #721

@vercel
Copy link
Copy Markdown

vercel Bot commented Feb 21, 2026

@SatyamPandey-07 is attempting to deploy a commit to the Renu's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown

🎉 Thanks for the PR, @SatyamPandey-07!

We really appreciate you taking the time to contribute to ExpenseFlow! 💙


⭐ Love this project?

Please give us a star! It helps the project grow and reach more developers! 🌟

🔗 https://github.com/Renu-code123/ExpenseFlow


✅ PR Checklist

Before we review, please ensure:

  • Your code follows the project's coding standards
  • All file changes are accurate and intentional
  • You've tested your changes locally
  • Any review comments have been addressed

🙌 Thank You for Contributing!

We truly appreciate your interest in contributing to this project.

  • Please make sure your code follows the project structure
  • Add clear commit messages and comments where necessary
  • Ensure your changes do not break existing functionality

We'll review your PR as soon as possible. Keep up the great work! ✨


@vercel
Copy link
Copy Markdown

vercel Bot commented Feb 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
expenseflow Ready Ready Preview, Comment Feb 21, 2026 5:48pm

@Renu-code123 Renu-code123 merged commit 524e2f0 into Renu-code123:main Feb 21, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Omnichannel Notification Delivery & Template Lifecycle Engine

2 participants