Document Owner | |
---|---|
Document Status | Draft |
Intern Working on this Project | |
Mentors | |
Source Code | https://github.com/ad-os/incubator-fineract |
Documentation | Notification API user Guide |
...
- 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.
...
Goal
- To allow the user to directly act upon the alert directly from the notification (i.e. approve a client). This is what actionable means.
Approach for designing a generic notification system
...
This part contains information about how notifications are being generated in the backend and what design they follow for their generation.
...
This part contains information about how notifications are being stored in the database after their generation and what data model design they follow.
...
Two tables are being used for storing the generated notifications.
1. notification_generator :- This table contains the attributes of the generated notification.
id | object_type | object_identifier | action | actor | is_system_generated | notification_content | created_at |
---|
id :- The id of the generated notification.
...
notification_content :- This column contains the text of the generated notification which would be shown to the user for whom it was generated. For e.g A new client with name abc ABC was created by mifos.
created_at :- It contains the date and time of the generated notification.
...................................................................................................................................................................................................................................................................................................................................
2. notification_mapper :- The table maps the id of generated notification with the id of an user for whom it was generated.
id | notification_id | user_id | is_read | created_at |
---|
id :- The id of mapped notification.
notification_id :- It contains the id of a notification which has to be mapped to an user. This is comes from the notification_generator table.
user_id :- It contains the id of an user for whom the notification is mapped.
is_read :- It is a boolean value. It tells whether the notification has been read by the user or not.
created_at :- It contains the date and time of the mapped notification.
Notification Delivery
JIRA Tasks
- The JIRA task corresponding to the first part in designing of notification module is present at this link.
...