Developer’s Guide to Building Notification Systems: Part 4 – Observability and Analytics

This is the fourth and final post in our series on how you, the developer, can build or improve your company’s notification system. It follows the first post about identifying user requirements, the second about designing with scalability and reliability in mind, and the third about setting up routing and preferences. In this piece, we will learn about using observability and analytics to set your system and company up for success.

Developing an application can often feel like you're building in the dark. Even after development, gathering and organizing performance data is invaluable for ongoing maintenance. This is where observability comes in—it’s the ability to monitor your application’s operation and understand what it’s doing. With close monitoring, observability is a superpower that allows developers to use various data points to foresee potential errors or outages and make informed decisions to prevent these from occurring.

Build an Analytics Dashboard With Django and Arctype

Introduction

As Python's premier web framework, Django provides the foundation upon which many web applications have been built, facilitating rapid development without sacrificing stability.  Amongst other versatile functionalities, Django integrates seamlessly with SQL databases, so today, we'll be using the framework to implement basic site analytics data recording.  Then, we'll use this data to create gorgeous visualizations in an Arctype dashboard, which will keep track of the following:

  • Registrations, logins, and logouts.
  • User activity by day.
  • Breakdown of user activity on a selected day.

To achieve this, we will be utilizing Django's ORM and Arctype (of course!)