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.
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.
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 ...