Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
app
 
 
bin
 
 
 
 
 
 
db
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CTFDashB

Build Status Dependabot Status codecov GitHub tag (latest by date)

CTFDashB is a Capture The Flag dashboard.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Before we start you will need to have docker and docker-compose installed. You can download Docker Community Edition (CE) from here, which includes docker-compose.

Installing

  1. Clone the git repo
git clone git@github.com:Abdulwahaab710/CTFDashB.git
  1. cd into the folder and create a dotenv file, like the following
# CTFDashB/.env
DATABASE_HOST=db
DATABASE_USERNAME=root
DATABASE_PASSWORD=S0ME_RANDOM_PASSWORD # you can use ruby generate the password ruby -e "require 'securerandom'; puts SecureRandom.hex()"
SECRET_KEY_BASE=S0ME_RANDOM_5TR1NG # you can use ruby generate the password ruby -e "require 'securerandom'; puts SecureRandom.hex()"
REDIS_URL=redis://redis

if this is for production, you will have to set the RAILS_ENV to be like the following

# CTFDashB/.env
...
RAILS_ENV=production
  1. Build the containers
docker-compose build
  1. Create the database, run Migration and seed the database
docker-compose run web rake db:create db:migrate db:seed
  1. Run the application
docker-compose up

Running the tests

To run tests

docker-compose run web bundle exec rspec

And coding style (rubocop)

docker-compose run web bundle exec rubocop

To auto fix the violiation for rubocop

docker-compose run web bundle exec rubocop -a

Deployment

Add additional notes about how to deploy this on a live system

License

This project is licensed under the MIT License - see the LICENSE.md file for details