Skip to content

sdmikey/ibjjf-elo

 
 

Repository files navigation

IBJJF Elo Ratings

This is the source code for a web app to track matches in IBJJF tournaments and rank athletes with the Elo rating system.

The URL for the production app is https://ibjjfrankings.com/

If you wish to contribute to this project, please see the Issues page for a list of outstanding feature requests, or you can donate.

This app is built with the following technologies:

  • The frontend is React with Typescript, with a build system created by Vite.
  • Frontend CSS provided by Bulma.
  • The backend is a Python web app using Flask.
  • We use Flask-Migrate for database migrations.
  • The database can be either PostgreSQL or SQLite.

How to set up a dev environment

  1. Clone this repository

  2. Install Python packages (create a virtual environment first):

$ pip install -r requirements.txt
  1. Run database migrations:
$ cd app
/app $ flask db upgrade

This will create a SQLite database in app/instance/app.db

  1. Run Python web app:
/app $ flask run --debug
  1. In another terminal, install NPM packages and run the Vite dev server:
/app $ cd frontend
/app/frontend $ npm install
/app/frontend $ npm run dev

Now you can open the URL that npm prints to the terminal to use the app.

  1. Scripts are in the scripts/ directory. The most useful is load_csv.py, which loads match data from a CSV file into the database.

  2. Please avoid running the pull_bjjcompsystem.py script unless you are actively developing it, as we don't want to stress the IBJJF's servers. Instead, if you want to help develop the app and you need sample data, contact us at ibjjfrankings on Instagram and we will sort you out.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 54.9%
  • TypeScript 41.0%
  • CSS 2.6%
  • HTML 1.1%
  • Shell 0.2%
  • JavaScript 0.1%
  • Mako 0.1%