/NBA-Dashboard

Web Dashboard for NBA ELT Project

Primary LanguageR

Tests

About

  • This Project consists of an R Shiny Dashboard displaying recent NBA data, analyses, and trends, along with all of the processes behind the ELT Pipeline that supports it.

ELT Data Pipeline Workflow

NBA ELT Pipeline Data Flow 2

  1. NBA Data is web scraped in Python on a Cron Schedule ran via ECS Fargate, and data is subsequently stored to source tables in a PostgreSQL Database.
  2. dbt Cloud executes data transformations in SQL on a Cron Schedule following the ECS Task, and also performs automated schema testing, quality checks, and data validation assertions primarily via dbt_expectations.
  3. An ML Pipeline is then run in Python via ECS Fargate to predict Team Win %s for Upcoming Games that night.
  4. AWS Step Functions is used as an orchestration tool to run all 3 tasks in sequence.
  5. The Shiny Server is built & deployed to ECS where it queries from the transformed SQL tables to display current stats, player metrics, gambling odds, and upcoming schedule data.