Skip to content

Tech Documentation Notifications

Shruti Agarwal edited this page Sep 3, 2022 · 1 revision

Notification

Dependent Modules

Below are the modules on which the notification module is dependent

  1. Attendance
  2. Student

Prerequisites

  1. Token for the teacher in the database to fetch the notifications
  2. Firebase Registration

Flow

  1. The user when logs in to the notification module, comes at the homepage of the notification module where he can see the day-wise history of the firebase notifications he has received. To receive history of the In-app notifications, user needs to provide the below things image
    1. userId
    1. provider
    1. startDate
    1. endDate
  1. When the user selects outbox from the dropdown provided in the top right corner, he can access the scheduled and sent notifications. To fetch scheduled and sent notifications, user needs to provide the below details

image

image

    1. Token for the current user
    1. Limit and Filters if required
  1. User can create notification from the homepage screen, where the create notification button is provide at the bottom
  • User needs to have a class list coupled with groupId (from class API)
  • User needs to select the module on which the events and the templates will be dependent (config dependent)
  • Channel selection has to be done (from configs)
  • Events selection dependent on the selected module (from configs)
  • Template selection (to get the template user needs to provide tag, which we get from the events)
  • SenderId is getting provided from fetching the token which is getting used here

image

User can see the recipients by clicking on the view recipient button

If the user clicks on the Review and Send Now, the notification gets sent to the recipients w.r.t. list in the View Recipient section But if the user selects Send Later, we need to provide date, time and month additionally to schedule the notification

image

Shiksha

Getting Started

Tech Architecture

Telemetry Spec

Config UI for new frontend module

Clone this wiki locally