Skip to content
Open
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
c5f4934
scaffold: data-track/week-12/README.md
lassebenni Jun 9, 2026
8950b1d
scaffold: data-track/week-12/exercise_1/README.md
lassebenni Jun 9, 2026
c574bfc
scaffold: data-track/week-12/exercise_1/solutions/README.md
lassebenni Jun 9, 2026
b6c6135
scaffold: data-track/week-12/exercise_2/README.md
lassebenni Jun 9, 2026
86b83a8
scaffold: data-track/week-12/exercise_2/solutions/README.md
lassebenni Jun 9, 2026
ec4af0d
scaffold: data-track/week-12/exercise_3/README.md
lassebenni Jun 9, 2026
fdceafb
scaffold: data-track/week-12/exercise_3/app.py
lassebenni Jun 9, 2026
0932094
scaffold: data-track/week-12/exercise_3/requirements.txt
lassebenni Jun 9, 2026
f21dfe7
scaffold: data-track/week-12/exercise_3/.env.example
lassebenni Jun 9, 2026
922eac5
scaffold: data-track/week-12/exercise_3/solutions/app.py
lassebenni Jun 9, 2026
f5f3a19
scaffold: data-track/week-12/exercise_4/README.md
lassebenni Jun 9, 2026
cd6e35d
scaffold: data-track/week-12/exercise_4/app.py
lassebenni Jun 9, 2026
08daa82
scaffold: data-track/week-12/exercise_4/requirements.txt
lassebenni Jun 9, 2026
9a2ef1b
scaffold: data-track/week-12/exercise_4/.env.example
lassebenni Jun 9, 2026
04ce2e0
scaffold: data-track/week-12/exercise_4/solutions/app.py
lassebenni Jun 9, 2026
df2334b
fix(week-12): Airflow 3 REST API (/api/v2 + logical_date) in practice…
lassebenni Jun 10, 2026
90f9517
fix(week-12): Airflow 3 token auth in Streamlit exercises (not Basic …
lassebenni Jun 11, 2026
47cd00f
fix(week-12): ex3 README describes the token flow, not Basic Auth
lassebenni Jun 11, 2026
f532f20
chore(data-track): flip weeks 11/12 — dashboarding becomes week 11 (A…
Jul 7, 2026
e884d41
chore(data-track/week-11): move dashboarding exercises to reference r…
Jul 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions data-track/week-11/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Week 11: Dashboarding with Metabase and Streamlit

Practice exercises for [Week 11](https://www.notion.so/hackyourfuture/Data-track) of the Data Track.
<!-- TODO: point this link at the renamed Week 11 Notion chapter once the chapter is moved. -->

The Week 11 practice no longer lives here as loose exercise folders. Like the Week 10 dbt drills, it
now lives as **branches in dedicated reference repos**, each starting from a complete, runnable
project so you can actually run the app / test the SQL instead of grafting snippets into your own
setup.

Both tools read the **dbt mart you built in Week 10** (`fct_trips`) straight from Azure Postgres —
no orchestration required. Clone a repo once, `git switch` to an exercise branch, follow its
`EXERCISE.md`, then compare against the matching `-solution` branch.

## Streamlit — [`nyc-taxi-streamlit-reference`](https://github.com/lassebenni/nyc-taxi-streamlit-reference)

A runnable metrics app (KPI tiles, daily-trend chart, freshness panel) that queries `fct_trips`.

| Exercise | Start branch | Solution branch |
| --- | --- | --- |
| KPI tiles from `fct_trips` | [`exercise-kpi-metrics`](https://github.com/lassebenni/nyc-taxi-streamlit-reference/tree/exercise-kpi-metrics) | [`exercise-kpi-metrics-solution`](https://github.com/lassebenni/nyc-taxi-streamlit-reference/tree/exercise-kpi-metrics-solution) |
| Daily trip-volume chart | [`exercise-daily-trend`](https://github.com/lassebenni/nyc-taxi-streamlit-reference/tree/exercise-daily-trend) | [`exercise-daily-trend-solution`](https://github.com/lassebenni/nyc-taxi-streamlit-reference/tree/exercise-daily-trend-solution) |

```bash
git clone https://github.com/lassebenni/nyc-taxi-streamlit-reference.git
cd nyc-taxi-streamlit-reference
git switch exercise-kpi-metrics
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # set your Week 9/10 PG_URL + PG_SCHEMA
streamlit run app.py
```

## Metabase — [`nyc-taxi-metabase-reference`](https://github.com/lassebenni/nyc-taxi-metabase-reference)

Each Metabase Question is driven by a SQL query. Those queries live as runnable `.sql` (your
checkable source of truth); the dashboard assembly stays in the Metabase UI.

| Exercise | Start branch | Solution branch |
| --- | --- | --- |
| Write a Metabase SQL Question | [`exercise-sql-question`](https://github.com/lassebenni/nyc-taxi-metabase-reference/tree/exercise-sql-question) | [`exercise-sql-question-solution`](https://github.com/lassebenni/nyc-taxi-metabase-reference/tree/exercise-sql-question-solution) |
| Build a dashboard with a date filter | [`exercise-dashboard-filter`](https://github.com/lassebenni/nyc-taxi-metabase-reference/tree/exercise-dashboard-filter) | [`exercise-dashboard-filter-solution`](https://github.com/lassebenni/nyc-taxi-metabase-reference/tree/exercise-dashboard-filter-solution) |

```bash
git clone https://github.com/lassebenni/nyc-taxi-metabase-reference.git
cd nyc-taxi-metabase-reference
git switch exercise-sql-question # then read EXERCISE.md and log in to Metabase
```

## Prerequisites

- Your Week 10 `fct_trips` table populated in `dev_<name>` on the shared Azure Postgres.
- For Streamlit: your Postgres connection string (`PG_URL`) and schema name (`PG_SCHEMA`).
- For Metabase: logged in to HYF Metabase (URL in the Week 11 chapter).
Loading