GithubHelp home page GithubHelp logo

marcinjakubowski / chess-com-division-tracker Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 80 KB

Chess.com Division Tracker using Python, Postgres and dbt

Home Page: https://datastudio.google.com/reporting/e57b9275-2de3-4f8e-b257-e71bdd37a219

License: MIT License

Python 99.12% Makefile 0.88%

chess-com-division-tracker's Introduction

Chess.com Division Tracker

This project was built to support IM Damian Lewtak while playing in chess.com Champion league.

Components

Project consists of three components, based around a PostgreSQL database.

Data load

Python modules supporting data loads from chess.com public and not-so-public APIs, in the code directory (with their own README).

Following chess.com data is fetched:

  • league standings (ranking & score)
  • list of games played for users of interest

Additionally, a helper script to export processed standing data from the database into a Google Sheet was implemented to facilitate the fact Google Data Studio supports a 15 minute refresh interval on top of GSheet data, compared to 1 hour off a Postgres database.

Database model

dbt™ database model transforming the raw data and calculating measures to support Google Data Studio dashboard.

Following functionalities are implemented on top of standing data:

  • rounds timestamps to the nearest minute
  • calculates score delta over 1 hour, 1 day and 2 days
  • calculates player downtime

Following functionalities are implemented on top of player games data:

  • determine division player's and their oppontent's color, ranking, result
  • calculate longest win streaks for players participating in the division

Dashboard

Dashboard - data as of Feb 12th, 20:50 CET, frozen in time.

Google Data Studio based dashboard using two data sources:

  1. Standings - Google Sheet with data exported from the database
  2. Games played - directly from database

image image image image image image

chess-com-division-tracker's People

Contributors

marcinjakubowski avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.