@node Overview
@chapter 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 @strong{sms} notifications are implemented. Any task with a @code{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. @code{notify.email.}, @code{notify.telegram.}, @code{notify.mattermost.} etc.

@section Contents

The only implementations so far are three @code{sms} notification tasks:

@itemize
@item log (as in python logger, thus more or less noop)
@item db (postgres)
@item Africas Talking API
@end itemize

@strong{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.
