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
- 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
- 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