esports league framework by ozfortress.
Clone or download
Latest commit d391f3c Aug 12, 2018

README.md

Citadel

Build Status Coverage Status Code Climate Dependency Status

Open Source, Web-based league system designed for games such as Team Fortress 2.

Goals

  • Highly configurable league system
  • Full automation for regular tasks (league management/setup, etc.)
  • Fine grained permission system

Dependencies

You will need for running:

  • Ruby 2.5
  • Bundler
  • Postgres (configured in config/database.yml)
  • ImageMagick

You will also need for testing:

  • A js runtime supported by execjs

To configure secrets (ie. steam API key) for development, use config/secrets.local.yml. Example at config/secrets.local.yml.example. Or put the secrets in environment variables (SECRET_KEY_BASE, STEAM_API_KEY)

Installing

Here are some specific install instructions for operating systems/distributions.

Ubuntu

Use either RVM or rbenv to install Ruby 2.3.3.

Install postgres with:

sudo apt install postgresql

Then install all native dependencies required to install this project's gems:

sudo apt install libpq-dev imagemagick

Then install this project's gems:

bundle install

Or alternatively, if you don't want any of the test/development dependencies:

bundle install --without test development

If you're planning on running the test suite, you will also need to install a js runtime. Install nodejs like this:

sudo apt install nodejs

Tests

This project uses rspec, rubocop, haml-lint and rails-best-practices for testing and linting.

All of these can be run in one command with rake

rake
# or
rake test