Document Owner
Document StatusDraft
Intern Working on this Project
Mentors
Source Codehttps://github.com/ad-os/incubator-fineract

Project Summary

Approach for designing  a generic notification system

The designing of the notification system will be done in two parts :-

How the system knows when to generate a notification

Let us start with the standard pub-sub(publication-subscription) model:

This part has to be async and it can achieved by implementing message queues. Read about them here.

How to generate a notification

A listener then generates a notification. The notification will have the following model :

               Subject --> Object --> Action --> Actor 

Subject - The user who needs to be notified
Object - The object on which action happened
Action - The action that resulted in this notification
Actor - Who did it

All the notifications can fit into this model. Now for our standard branch manager - loan officer interaction the notification may look like 

Notify [User 322][new loan application] was [created] by [User 432]

             subject                 object                               action          actor

How to show notifications to the user

//To be done