How christopherharris13/nfl-dashboard works
GridironOps turns intentionally dirty NFL and wellness data into a quality-checked Postgres warehouse, with Airflow orchestrating extraction through reporting. The graph preserves the documented vendor and public-feed inputs, Bronze/Silver/Gold stages, identity resolution, validation and quarantine, and the Power BI consumer. The file tree includes the Airflow and mock-vendor code but not the documented dbt, warehouse SQL, or Power BI files, so those subsystems are represented using only documented behavior; their internal wiring is not expanded.
Main entry points: nfl_medallion.py Medallion DAG · silver Source transforms · extract.py Extract and land · player_master.py Player master
Components 17
Data Inputs
- Mock vendors
mock_vendors - nflverse
- Open-Meteo
Airflow Pipeline
- Medallion DAG
airflow/dags/nfl_medallion.py - Extract and land
airflow/plugins/extract.py - Schema and staging
Silver and Quality
- Player identity
airflow/plugins/identity.py - Player master
airflow/plugins/silver/player_master.py - Source transforms
airflow/plugins/silver - Expectation validation
airflow/plugins/dq/validate.py - DQ scorecard
airflow/plugins/dq/summary.py
Warehouse and Reporting
- Bronze
- Silver
- Quarantine
- Gold models
- Gold
- Power BI report
Connections 26
- Medallion DAG → Extract and land: invokes
- Mock vendors → Extract and land: serves records
- nflverse → Extract and land: provides feeds
- Open-Meteo → Extract and land: provides forecast
- Extract and land → Bronze: writes raw payloads
- Medallion DAG → Schema and staging: applies schema
- Schema and staging → Bronze: reads
- Schema and staging → Silver: creates staging views
- Medallion DAG → Expectation validation: runs checks
- Expectation validation → Silver: validates staging
- Expectation validation → Quarantine: routes failing rows
- Medallion DAG → Player master: builds
- Player master → Bronze: reads roster data
- Player master → Player identity: resolves players
- Player master → Silver: persists player map
- Medallion DAG → Source transforms: runs transforms
- Source transforms → Player identity: resolves players
- Source transforms → Bronze: reads source rows
- Source transforms → Silver: rebuilds facts
- Source transforms → Quarantine: records identity failures
- Medallion DAG → DQ scorecard: writes summary
- DQ scorecard → Silver: reconciles run results
- Medallion DAG → Gold models: runs dbt stages
- Gold models → Silver: reads
- Gold models → Gold: builds models
- Gold → Power BI report: feeds report