⚠️ This is a Proof of concept and is not an application that Operations Engineering currently operate or support
The purpose of the KPI Dashboard is to enable Operations Engineering to easily track the value of systems and processes over time to make data-driven decisions about their future.
.
├── app
│ ├── app.py # 👈 Where all application code is held at the moment
│ └── run.py # 👈 Entrypoint for Gunicorn to run the app
├── data # 👈 Ignored by git - use this directory to store sensitive data you want to load locally (copy `example_data` for a starting point)
│ └── support-stats.csv
│ └── ...
└── docker-compose.yaml
The current solution is composed of two components, the Dashboard UI and a Database 📈 💿
- UI
- Dash and Plotly - for creating dashboards from data with no JavaScript 😱
- Pandas - for reading in data from CSV, JSON, SQL etc. and converting it into a readable format by Dash/Plotly 🐼
- PostgresDB - for storing data (that can be auto-populated by systems when/if this goes live 🙈)
- CSV files - example CSV files stored in example-data though the application reads from ./data 💿
- Dash and Plotly - for creating dashboards from data with no JavaScript 😱
To develop, deploy or run this app, you will need to install the following:
The application is currently composed of a Python Web Server and Postgres Database, that can be run locally through Docker Compose with the following command:
docker compose up --build
Sometimes this command can fail on the first run - if it does, spin down compose with docker compose down
and re-launch! 🚀
You can then go to the UI to see graphs for the given data sets:
Name | URL |
---|---|
Dash/Plotly | http://localhost:4567 |