/Axtell

An improved user experience for competitive programming

Primary LanguageJavaScriptOtherNOASSERTION

Axtell

An improved user experience for competitive programming.

Build Status codecov

Setup

Prereqs

To get started make sure you have the following installed:

  • Python 3
  • MySQL
  • bundle
  • node/npm
  • Redis
  • memcached

and the plugins (may be missing certain see requirements.txt for all):

  • Ruby gems (bundle install)
  • Node.js packages (npm install)
  • All plugins in requirements.txt (pip install -r requirements.txt)

additionally you need to know:

  • MySQL username + password
  • Redis password

You can use setup.sh to try to automatically setup most things. Run this with sudo.

Setup

The setup script automatically does most of this

  1. Copy config.default.py to config.py
  2. Replace MYSQL_USERNAME and MYSQL_PASSWORD with appropriate MySQL credentials
  3. Replace REDIS_PASSWORD with appropriate Redis credential
  4. Set secret_skey to some random string. It doesn't matter what it is as long as it is random.
  5. Run mysql -u MYSQL_USERNAME -e "CREATE DATABASE ppcg;"

If you look within config.py, you need to fill in various API keys from google, StackExchange, etc.

Run

Make sure that your Redis server is running!

Production run:

$ celery multi start w1 -A celery_server
$ ./run.py

Development run:

$ celery multi start w1 -A celery_server
$ ./debug.sh