Document Owner | |
---|---|
Document Status | Draft |
Intern Working on this Project | |
Mentors | |
Source Code | https://github.com/ad-os/incubator-fineract |
The designing of the notification system will be done in two parts :-
Notification generation and storage
Let us start with the standard pub-sub(publication-subscription) model:
There is an event (like new Loan Request by Loan Officer) which is broadcasted.
The event listener gets the message (that a new Loan Request was made)
This part has to be async and it can achieved by implementing message queues. Read about them here.
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] a [new loan application] was [created] by [User 432]
subject object action actor