How to Design and Plan a Simple Live Notification System

Planning

Goal

Our goal is to make a simple live notification system that can send, receive, and show new messages lively.

Design and Architecture

The main architecture can be split into two components. One is the publisher. The other is the subscriber. Publisher can be either implemented in the Django application through a WSGI server or developed outside of the application (e.g., a simple script). Publisher sends messages to the channel layer for which we are going to use Redis. Subscriber is implemented in the application through an ASGI server and watches messages on the channel layer. The user interface renders the message in whichever form it should be. In our case, it would increase the number in the badge by 1. The architecture is illustrated below.

System architecture

Map User Stories

We are going to map from IT’s perspective. Thus, the user is IT.

User-story map

Recap

In this article, we went through task planning and requirement gathering. I have also demonstrated the process of user-story mapping. We discussed the design and tech architecture as well. These are the processes, methodologies, and approaches we have been using in our organization. I would love to hear from you on what processes and methodologies you are using in your development process. Let me know how you would plan this project. Please feel free to leave your comments. Finally, I would like to thank our team since adapting a successful engineering process takes the entire team’s effort. Thanks for reading.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store