Skip to content

feat(data-track): add Week 12 practice exercises#28

Open
lassebenni wants to merge 18 commits into
mainfrom
feat/data-track-week-12
Open

feat(data-track): add Week 12 practice exercises#28
lassebenni wants to merge 18 commits into
mainfrom
feat/data-track-week-12

Conversation

@lassebenni

Copy link
Copy Markdown
Collaborator

Summary

  • Adds data-track/week-12/ with 4 practice exercises
  • Exercise 1: Write a Metabase SQL Question (trip count by borough)
  • Exercise 2: Build a Metabase dashboard with a date-range filter
  • Exercise 3: Streamlit last DAG run status panel (Airflow REST API)
  • Exercise 4: Streamlit data-freshness panel (Postgres MAX + COUNT)
  • Each exercise has a starter file and solutions/ subfolder

Test plan

  • Open exercise_3 in Codespaces, install requirements, run streamlit run app.py — expect the TODO warning
  • Implement the TODO, re-run — expect live Airflow data
  • Verify .env.example exists and .env would be gitignored

🤖 Generated with Claude Code

lassebenni and others added 18 commits June 9, 2026 17:29
… exercises

The class shared Airflow VM runs Airflow 3. The Streamlit exercises used the
Airflow 2 pattern (/api/v1 + order_by=-execution_date), which 404s against the
v3 API. Corrected ex3/ex4 starters and solutions to /api/v2 and -logical_date,
matching the Week 12 chapters. Also removed em dashes from the exercise files
(project style: colons/commas, never em dashes).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…Auth)

Live smoke-test of the shared Airflow 3.2 VM: auth=(user,pass) returns 401 on
/api/v2; the API needs a JWT from POST /auth/token sent as a Bearer header.
Added a cached get_airflow_token() helper to ex3/ex4 (starter + solution) and
switched every dagRuns call to Authorization: Bearer. Updated the ex3 starter
TODO to describe the token flow.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant