Shared Service Layer - Notifications



Why the work is being done

Catalyst aims to help civil society organisations to reuse more tech, rather than building custom solutions each time. In order to do this we have set up a series of interventions, one of which is service layers.
Service layers create a piece of functionality which many charities can use to achieve similar things.
This project is to create an alpha version of one of those layers - Notifications.
Many charities need to send notifications to service users, often as confirmations or reminders of appointments.
Charities use many commercial products for this, but those products may stop being supported, or become obsolete. 
This project is to develop an Alpha of that software using, where possible, the learnings, product development and open source codebase of GOV.UK Notify, so that a standardised approach can be carried as fully as possible into the charity sector and wider civic society.  

Problem to solve

How might we create a shared notification sending platform for civic society organisations which is as similar to GOV.UK Notify as possible so that knowledge transfer is retained and reuse is maximised?

Who are the users and what do they need to do

Software developers and project managers in digital suppliers supporting charities.
Digital teams within charities and civic society organisations

Description of the work:

  • Development and deployment of an Alpha of the product which other organisations can integrate with and use as part of their product. 
  • Integration of at least one notification sending platform to send SMS messages
  • The API for the product should follow as closely as possible the API for GOV.UK’s Notify product so that the knowledge of development organisations with prior experience of integrating with that product can be carried over into wider civic society:
  • The API must include an authentication layer where charities/digital partners can provide credentials. This layer will need to adhere to agreed standards.
  • The solution should be able to be hosted on an instance, or container or using a serverless host (AWS Lambda or similar).

Expected outputs include:

  • Standardardised documentation for the product, including detailed instructions for creating instances of the product in local, staging and production environments
  • API documentation
  • Configuration documentation
  • Weeknotes for the process of development
  • Weekly project updates
  • Commented source code adhering to best practices
  • Product deployed to an alpha environment

Key project resources