Skip to content

Mohamad bader AA - #12

Open
noneeeed wants to merge 8 commits into
HackYourAssignment:mainfrom
noneeeed:week11-attempt
Open

Mohamad bader AA#12
noneeeed wants to merge 8 commits into
HackYourAssignment:mainfrom
noneeeed:week11-attempt

Conversation

@noneeeed

Copy link
Copy Markdown

What I built

How to review

  • Metabase: open the dashboard link above, or see the committed screenshots / PDF export inside "docs" folder
  • Streamlit: see the committed screenshots, or run it yourself with the steps below.
  • Metric definitions: week11-streamlit/metric_definitions.md
  • AI usage: 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) + DB_SCHEMA
uv run streamlit run app.py

Prerequisite: You must have your own fct_trips in order to run streamlit app, if unable check screenhots and video provided.

What reviewers should see (expected results)

Fill in the numbers your dashboard and app actually show, so a reviewer can tell at a glance whether the result looks correct:

  • Total trips (fct_trips row count): <e.g. ~57k>
  • Busiest hour of day: 17:00
  • Top payment type by share: credit card, ~70%
  • Data freshness (latest trip date shown): 2024-01-31

Known limitations / out of scope

  • auto-refresh not implemented; dashboard covers January 2024 only; one Metabase filter still hardcoded
  • streamlit might not run unless you have your own fct_trips in your own schema with more than read only permissions

Extra completed

none

Self-check

  • [✅ ] bash .hyf/test.sh passes
  • [✅ ] No credentials committed (no password in app.py, .env is gitignored)
  • [ ✅] Screenshots of the Metabase dashboard and the running Streamlit app are committed

Comment thread AI_ASSIST.md
## The response

LLM added alittle bit of fluff to the file with extra comments and lines
added every single todo in the file as it is following instructions from the code itself.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can ask the LLM to just display the answer and not implement anything, so you avoid it adding stuff everywhere unasked.

@jrnhofman

Copy link
Copy Markdown

nice work!

@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 (3788 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.

3 participants