Skip to content

ayala-io/DistributedReplays

 
 

Repository files navigation

Calculated.gg Backend Build Status

Setup

  • Install Python 3.6/pip
  • pip3 install -r requirements.txt
  • Install and run Redis with default port + settings (Windows is included, Ubuntu)
  • Install postgreSQL (Windows, Ubuntu, Mac)
  • Make sure that postgreSQL is in the path
  • If only for local development change the password in Ubuntu to postgres
  • Ensure you have the latest LTS version of node and npm installed
  • Run cd webapp, npm install

Running

Ubuntu

  • Run RLBotServer.py.
  • cd webapp, npm start

Windows

  • Run win_run.bat
  • You can optionally kill the python process and start it in an IDE
  • You can log into psql command line with psql postgresql://postgres:postgres@localhost
  • If the included redis does not work here is install directions
  • DO NOT USE IDLE, either use command line or pycharm (pycharm is recommended for development of backend)

Mac

  • Run mac_run.sh

You need to run in python3. Mac comes with python2 by default so do not run any commands without the 3

Structure

The structure of the server is split into different directories:

  • blueprints - Backend Python code, split into subsections
  • database - Database objects and queries
  • helpers - Various scripts to help in maintaining the server
  • static - Static website files (JS/CSS/images)
  • tasks - Contains celery code user for processing the queue of replays
  • templates - Dynamic website files (rendered HTML templates)

Setup and Running with Docker (Docs WIP)

Basic Dependencies

Run Everything

# Start containers. Should be in project root directory (where docker-compose.yml is)
docker-compose up

# See your containers running
docker ps

Now go to localhost:3000 and the site should be running.

Testing

We run with pytest and use some features from it. If you are using an ide (pycharm/intellij) you must change the default runner from unit tests to pytests You can make this change by going to settings and searching for "unittest" Python unit test configuration

About

👨‍💻 Rocket League Replay Collection and Analysis Server that powers calculated.gg

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 42.7%
  • Python 39.1%
  • HTML 17.7%
  • Shell 0.4%
  • Dockerfile 0.1%
  • Batchfile 0.0%