An improved user experience for competitive programming.
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
.
The setup script automatically does most of this
- Copy
config.default.py
toconfig.py
- Replace
MYSQL_USERNAME
andMYSQL_PASSWORD
with appropriate MySQL credentials - Replace
REDIS_PASSWORD
with appropriate Redis credential - Set
secret_skey
to some random string. It doesn't matter what it is as long as it is random. - 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.
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