## 1 Overview

This system is in early stages of development. It is intended to be a flexible notification broker where additional notification targets easily can be plugged in.

The framework is designed to asynchronously execute all tasks belonging to a specific context, based on the name of the task.

Currently, only handlers for sms notifications are implemented. Any task with a `notify.sms.` prefix registered in the celery task worker pool will be executed upon the high-level "send sms" task.

Similary, any other notification category can be implemented. e.g. `notify.email.`, `notify.telegram.`, `notify.mattermost.` etc.

### 1.1 Contents

The only implementations so far are three `sms` notification tasks:

- log (as in python logger, thus more or less noop)
- db (postgres)
- Africas Talking API

NOTE: The Africas Talking API will be removed from the suite, and provided as an add-on package down the road. It will illustrate how to include arbitrary tasks to a asynchronous group of notification targets.