Chapter 6. Building a Real-Time Analytics Dashboard

In this chapter, we’re going to learn how to build a real-time analytics dashboard for AATD’s operators. This dashboard will be built on top of the orders service that we introduced in Chapter 4 and then extended in Chapter 5.

We’ll stream the data from Kafka into Pinot and build a Streamlit dashboard that gives an overview of revenue and total orders over time. The application that we build in this chapter will fit into the internal/human-facing quadrant that was introduced in “Classifying Real-Time Analytics Applications”, as shown in Figure 6-1.

bras 0601
Figure 6-1. Real-time analytics quadrant: human/internal

Dashboard Architecture

For the first version of our dashboard, we’re going to be building on top of the orders service introduced in Chapter 3 (see Figure 3-3). Apache Pinot will consume events from the orders topic, and we’ll then query Pinot from our Streamlit dashboard. Figure 6-2 gives an overview of the system that we’re going to build.

bras 0602
Figure 6-2. Dashboard v1 architecture diagram

The new components in the architecture are included inside the dotted box. Next, we’re going to update our Docker infrastructure to add these new components.

What Is Streamlit?

Streamlit is an open source web framework that lets you build ...

Get Building Real-Time Analytics Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.