Notifications

Context

Currently the in-app notifications are calculations on states of data that can’t be removed or marked as read. They only disappear when the state of the data has changed. The only one we have at present is for past events that have not had any data added.

Changes

Notifications should be something that can be marked as read, dismissed, etc. They are one off notifications of something that has occurred. This is more in-line with the emails that currently get sent out. In-app notifications of these emails are of benefit for users who have opted out of receiving email notifications.

The creation of new notifications could be triggered either by an action taking place (e.g. new event created, volunteer joined group), or the data entering into a particular state (e.g. an event you have RSVPed to is taking place in 3 days). Those triggered by actions can just be created when the action takes place. Those triggered by states of data will need to be checked for in a scheduled (probably nightly) task (e.g. a cron job).

Reporting on states of data

It will be useful to see a dashboard of data that is in a particular anomalous state. e.g. a list of past events that have no data added. This could be something that is added to the dashboard, or it could potentially a question in Metabase.

Possible notifications

Restarter

  • new event created (only when successfully moderated) for a group you are a member of
  • event you’ve RSVPed to happening in 3 days
  • host asked for your help with repair info from an event
  • new group created in your vicinity

Host

  • volunteer joined your group
  • volunteer left your group
  • volunteer RSVPed to your event
  • volunteer cancelled RSVP
  • volunteer edited device for your event? (needs some thought)
  • event has no data after X days

Admin

  • new Restarter joined platform
  • new event created
  • new group created
  • event details edited
  • group details edited
  • new devices added since last login
  • event finished a week ago, no devices added yet
  • volunteer joined a group
  • volunteer left a group
  • volunteer RSVPed to an event
  • volunteer cancelled RSVP
  • large number of Misc devices added for an event
  • event has no data after X days