Skip to content

end-to-end data engineering project to measure my chess game

Notifications You must be signed in to change notification settings

jackcompton94/chess-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chess-Dashboard

alt text

Purpose

To extract, format, store, aggregate, and analyze meaningful statistics in a real-time cloud environment to improve your chess game including:

  • Win/Loss/Draw Record
  • Win Percentage as White and Black
  • Win Percentage vs. Higher and Lower ELOs
  • Current Win/Loss Streak
  • ELO Rating Overtime
  • Win Percentages against different ELOs
  • All Time or Monthly Dashboard Views

How it works

  • data_extract.py interacts with the Chess.com API and extracts JSON and formats the relevant data into a local CSV
  • data_load.py interacts with the BigQuery API to create and maintain the local CSV in the cloud
  • view.py interacts with the BigQuery API to initialize the views needed that are used in Looker Studio
  • looker.py interacts with the Looker API to create and maintain the dashboards needed to visualize the statistics

These scripts are automated with cron on a local machine to maintain up-to-date stats and maintain an autonomous workflow

Whats Next?

  • Replace the cron jobs with a tool that can run independently from the local machine. For example, AWS Lambda, Google Cloud Function, etc.
  • Develop a script that transforms the JSON data for moves made during a match to determine the Opening/Defense(s) used and aggregate "Favorites" and the "Win Percentages with 'x' openings" (stockfish)
  • Add an option to visualize any month of chess stats for the user, ths will involve getting the "Account Created Date" and to create a monthly dashboard for each month since inception. This also will allow another feature where you can view "All Time" stats by 'UNION ALL' of the monthly tables from creation.
  • Create a functioning site that allows user to login to Chess.com and this authentication will provide the username needed for the inital API call and leverage a full-fledged performance dashboard

About

end-to-end data engineering project to measure my chess game

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages