/solve

API driven competitive programming system

Primary LanguageGoApache License 2.0Apache-2.0

Solve

GoDoc codecov Go Report Card CII Best Practices

Solve is distributed under Apache 2.0 License.

How to start development

First of all you should build solve and safeexec binaries:

make all

Then create config file config.json with following contents:

{
  "db": {
    "driver": "sqlite",
    "options": {
      "path": "database.sqlite"
    }
  },
  "server": {
    "port": 4242
  },
  "invoker": {
    "workers": 1,
    "safeexec": {
      "path": "safeexec/safeexec"
    }
  },
  "security": {
    "password_salt": "qwerty123",
    "password_key": "qwerty123"
  },
  "storage": {
    "driver": "local",
    "options": {
      "files_dir": ".data/files"
    }
  },
  "log_level": "debug"
}

Then apply database migrations:

./solve migrate --with-data

Then run server (API will be available on http://localhost:4242):

./solve server

Then you can register new admin user with password qwerty123:

./solve client create-user \
  --login admin \
  --password qwerty123 \
  --email admin@gmail.com \
  --add-role admin_group