Below is the high level design of our system. We have broken it into 4 different parts, which will consist of 3 different applications.
The user interface will be a React application, and will interact with our API to serve information.
The queue will be responsible for accepting alert notifications and determining when to send them to users.
The API is the brain behind the system, and will take in requests from XMatters, process them, and put them on the queue to be dealt with. The queue will then send requests back to the API, which will handle sending pages to users.