Skip to content

spencerchubb/wca-statistics

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WCA Statistics

WCA Statistics is a collection data analysis over the WCA's database.

Backend Deploy backend Frontend Deploy frontend

Requirements

This project is composed of front end and backend. You can check the requirements in each one.

How to run it

This project is separated in server and client, backend and front and respectively. You can run each one by following instructions in client and server's folder, located in the README.

Run with docker

  • Build server's jar

./server/gradlew build -p server (or navigate to the server folder and execute ./gradlew build)

  • Download the database export and build it in a database called wca_development. You can use the file server/get_db_export.sh with
chmod +x server/get_db_export.sh
source server/get_db_export.sh
  • Run docker

docker-compose up

Generate all statistics

First, you'll need to start the server, then you can execute

chmod +x scripts/generate_all_statistics.sh
./scripts/generate_all_statistics.sh

Deploy

  • Frontend

GitHub actions will deploy after merging to main. Anyways, if you wanna do it manually, you can

cd client
export PUBLIC_URL="https://statistics-api.worldcubeassociation.org"
export REACT_APP_BASE_URL="https://statistics-api.worldcubeassociation.org"
yarn build
aws s3 cp build s3://{{STATISTICS_WEBSITE_BUCKET}} --recursive
  • Backend

GitHub actions will deploy after merging to main.

Docker cron

The file scripts/cron-docker.sh is used to make a fresh new download of the ropository and run the statistics over it. In the process or calculating statistics, the other sh files inside of scripts are used.

Deploy the cron image

The cron script also runs in its own container. This helps when running this periodically like in a cron schedule, using AWS Batch

  • Build the image

    docker build -t thewca/statistics-cron .

  • Deploy the image

    docker push thewca/statistics-cron

Run the image locally

You can also run this image locally. This image will download the export, update the database and calculate all the statistics.

docker run thewca/statistics-cron

Run cron

  • Export variables
export STATISTICS_PORT=8080
export DB_HOST={{SENSITIVE}}
export DB_DATABASE={{SENSITIVE}}
export DB_USERNAME={{SENSITIVE}}
export DB_PASSWORD={{SENSITIVE}}
export DB_PORT=3306
  • Run it

    source scripts/cron.sh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 50.8%
  • TypeScript 27.3%
  • Python 17.1%
  • Shell 1.6%
  • CSS 1.3%
  • HTML 1.1%
  • Other 0.8%