GTBitsOfGood / GTBitsOfGood/VolunTrack

Notification System

Open
#522 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
12
Forks
8
PR merge metrics
No merged PRs in 30d

Description

## Context

- This is a bulky ticket, but it doesn't make sense to split it up because context will get lost and we will be in merge conflict hell
- The nonprofit wants a system for sending notifications, see designs here: https://www.figma.com/design/Qd2Re6coyNyGN8QmsRpVVs/VolunTrack-2.0-Fall-25?node-id=15049-514&p=f&t=uH5leeB7hcCYLXlI-0
- You will be doing the backend for this
- For now, we will just handle email notifications, as this is what is offered through `juno`

## Requirements

- Have an API endpoint for the individual notification that sends a one off email (for all tickets look at designs for necessary fields to include)
- These notifications can be scheduled for the future, so use the Netlify Scheduled Functions mentioned below to send these
- You will need to create a new table of scheduled functions
- Have an API endpoint for recurring notifications
- This will require adding in a new table in the database to store these recurring notifications
- Then, you will have to use [Netlify Scheduled Function](https://docs.netlify.com/build/functions/scheduled-functions/) to act as a cron job to send these recurring notifications
- You will also have to create a table for notification history, that will contain ALL the history of notifications sent
- And a corresponding endpoint to get this total history (paginated please)
- Additionally, you will need an endpoint to get all scheduled notifications
- This should be all the one-off notifications that are scheduled, and the NEXT occurrence of the scheduled notification

- For sending notifications, everything should hopefully be used with the `juno` emails that infra has created, but if not possible, just fall back to using SendGrid
- Coordinate with https://github.com/GTBitsOfGood/VolunTrack/issues/521 for figuring out sending emails as needed

## Acceptance Criteria

- [ ] Notification system backend

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.