Skip to content

ozfortress/citadel

Repository files navigation

Citadel

Build Status codecov Code Climate

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 9.5 (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, run rails credentials:edit.

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.

To set up the database for testing, run: rake parallel:setup.

All of these can be run in one command with rake:

rake
# or
rake test