Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Document Owner
Document StatusDraft
Intern Working on this Project
Mentors
Source Codehttps://github.com/ad-os/incubator-fineract

...

  • Enable generic way of sending notifications - these notifications should be capable of being delivered via the Community App, via the Android app for field officers or Android self-service app, via SMS, or via Email.
  • Mingle Actions into the notification - To allow the user to directly act upon the alert directly from the notification (i.e. approve a client).

Approach for designing  a generic notification system

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

  • Notification generation and storage

  • Notification Delivery

How the system knows when to generate a notification

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.

  • There is an event (like new Loan Request by Loan Officer) which is broadcasted.

  • The listener will now do something - for example send an email to the Branch manager.

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