Skip to content

Pavel Tisner - #16

Open
pavel-tisner wants to merge 1 commit into
HackYourAssignment:mainfrom
pavel-tisner:week11/pavel-tisner
Open

Pavel Tisner#16
pavel-tisner wants to merge 1 commit into
HackYourAssignment:mainfrom
pavel-tisner:week11/pavel-tisner

Conversation

@pavel-tisner

@pavel-tisner pavel-tisner commented Jul 17, 2026

Copy link
Copy Markdown

What I built

How to review

  • Metabase: open the dashboard link above, or see the committed PDF export in docs/Metabase - NYC Taxi Analytics_ Pavel Tisner.pdf.
  • Streamlit: see the committed screenshots in the docs/ folder, or run the application using the steps below.
  • Metric definitions: week11-streamlit/metric_definitions.md
  • AI usage log: AI_ASSIST.md

How to run the Streamlit app

From a clean clone, with your own Postgres access:

cd week11-streamlit
uv sync
cp .env.example .env
# Set your own POSTGRES_URL (with ?sslmode=require) and DB_SCHEMA
uv run streamlit run app.py

Prerequisite: your own fct_trips mart populated in your dev_<name> schema from Week 10.

These instructions require the reviewer's own Week 10 mart. Since reviewers cannot access my private schema, the committed screenshots and PDF export serve as evidence that the dashboards work correctly.

What reviewers should see (expected results)

With the payment-type filter set to All:

  • Total Trips: 56,546
  • Busiest hour of day: approximately 18:00
  • Top payment type: Credit card (42,037 trips, ~74%)
  • Latest pickup datetime: 2024-01-31 23:57:00
  • Dataset covers January 2024

Known limitations / out of scope

  • The presentation recording and Azure Blob Storage link will be added before final submission.
  • Streamlit auto-refresh was not implemented (Extra task).
  • Metabase date-range filter was not implemented (Extra task).

Extra completed

  • Metabase date filter on >=2 Questions
  • Streamlit auto-refresh

Self-check

  • bash .hyf/test.sh passes (100/100, pass=true)
  • No credentials are committed (.env is gitignored and app.py contains no secrets)
  • PDF export of the Metabase dashboard is committed
  • Screenshots of the running Streamlit dashboard are committed

@lassebenni lassebenni closed this Jul 17, 2026
@lassebenni lassebenni reopened this Jul 17, 2026
@github-actions

Copy link
Copy Markdown

📝 HackYourFuture auto grade

Assignment Score: 100 / 100 ✅

Status: ✅ Passed
Minimum score to pass: 60
🧪 The auto grade is experimental and still being improved

Test Details

=== Week 11 Autograder ===
  ✓ PASS  found README.md
  ✓ PASS  found AI_ASSIST.md
  ✓ PASS  found week11-streamlit/app.py
  ✓ PASS  found week11-streamlit/pyproject.toml
  ✓ PASS  found week11-streamlit/uv.lock
  ✓ PASS  found week11-streamlit/metric_definitions.md
  ✓ PASS  Level 1: required files (20/20 pts)
  ✓ PASS  root .gitignore excludes .env
  ✓ PASS  week11-streamlit/.env not committed
  ✓ PASS  app.py: no hardcoded Postgres credentials found
  ✓ PASS  Level 2: secrets hygiene (15/15 pts)
  ✓ PASS  app.py: imports sqlalchemy
  ✓ PASS  app.py: reads credentials from the environment
  ✓ PASS  app.py: uses .metric() (st.metric or a st.columns() cell)
  ✓ PASS  app.py: queries fct_trips
  ✓ PASS  app.py: uses @st.cache_data
  ✓ PASS  Level 3: Streamlit app content (25/25 pts)
  ✓ PASS  metric_definitions.md: all five fields present
  ✓ PASS  metric_definitions.md: 6 panels documented (>=4 expected: 3 Metabase + 1 Streamlit)
  ✓ PASS  Level 4: metric definitions (20/20 pts)
  ✓ PASS  README.md: dashboard link present under 'My submission'
  ✓ PASS  Level 5: Metabase dashboard documented (10/10 pts)
  ✓ PASS  AI_ASSIST.md: filled (1429 chars, no leftover TODO lines)
  ✓ PASS  Level 6: AI assistance log (10/10 pts)

Score: 100 / 100  (passing: 60)  pass=true

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.

2 participants