The purpose of the NBA War Room Dashboard project is to build a dashboard that is inspired by the Toronto Raptor's "War Room". The goal is provide insights and analysis into the league, teams, and players within the NBA. The dashboard will consist of three reports: League Analysis, Player Analysis, and Team analysis. Each report will contain a variety of data visuals. The data to support the dashboard will be sourced from publicly available JSON endpoints that contain NBA statistical data and will be stored in a Microsoft SQL Server database.
The project will be built using the following technologies for each component:
- Data Pipeline: Python
- Data Visualization: Dash
- Deployment & Hosting: Docker & Heroku
The minimum viable product is a dashboard that renders in a web browser and is accessible via the Internet.
- Python (Pandas, SQLAlchemy)
- Azure SQL Database
- Dash
- Docker
- Heroku
- data.nba.net Endpoints
- https://www.basketball-reference.com/
A list of articles, videos, websites, and books used during development and deployment.
- Docker Handbook
- Pandas Datatypes
- SQLAlchemy Datatypes
- Pandas Creating Dataframe
- Pandas Changing Column Datatypes
- TSQL Convert getdate() to EST
- TSQL AT TIME ZONE function
- Sleep method in Python Time module (built-in module)
- Python Delete element from Dictionary
- Python Check for Object Type wiht isinstance()
- Python isinstance() function
- Table Design Best Practices for ETL
- Pandas Insert Column into DataFrame
- SQL Alchemy Working with Engine & Connections; Creating multilple connections
- Pandas Function for Rearranging Columns in Dataframe
- Data Project Folder Structure
- Pandas read_sql_table()
- Pandas Create Column based on Reference Column
- Pandas Split Column's Values by Delimiter
- Pandas Rename Columns