Basketball Analytics Dashboard

November 2024

Designed and implemented a normalized PostgreSQL schema to ingest and store complex player performance datasets, including box score stats, shooting coordinates, and game metadata. Ensured relational integrity and query efficiency across multiple normalized tables (Players, Games, Teams, Stats). Built a robust data ingestion pipeline in Python/Django that loads raw JSON datasets into the database. Leveraged Django ORM and migration tooling to streamline schema evolution. Developed a RESTful API endpoint (/api/v1/playerSummary/{playerID}) to compute and return structured game summaries matching a provided JSON contract. This included aggregation of player stats, parsing of shot coordinates, and formatting game-by-game breakdowns for frontend rendering. Built a fully interactive frontend component in Angular that visualizes player performance over multiple games. Implemented dynamic shot charts using SVG overlays and color-coded markers for made/missed attempts. Integrated game navigation, player metadata, and statistical summaries into a cohesive UI. Completed as part of Technical Interview with Oklahoma City Thunder