The Developer Dashboard is a Rails application that displays open PRs for a preconfigured repository. It has been tailored for my specific needs, therefore, it might be not convenient for anyone else. However, feel free to open PRs or issues containing your idea how to make it better.
The application is packed as an all-in-one docker container, that can be started by the following command:
docker run -p 3000:3000 \
-e SECRET_KEY_BASE="" \
-e GITHUB_REPO="" \
-e GITHUB_USER="" \
-e GITHUB_PASS="" \
skateman/dev-board
The application is configured to listen on port 3000, but this can be routed to any port on your local machine. The SECRET_KEY_BASE
variable is required by Rails and its content has to be a random unique string, you can call rake secret
from any rails application to generate one. The GITHUB_
prefixed variables don't need any further explanation, you can generate personal access tokens on your GitHub settings page. It is possible to use the application without setting the login credentials, but note that GitHub has more strict rate limits for unauthorized users.
To run the application outside the container, you will require the following tools:
- Ruby v2.2.2 or newer
- All the dependencies of Rails v5.0.1
- Redis runnin on localhost
After checking out the repository, simply type bin/setup
in the application's directory to set up all the dependencies. You will have to update the config/secrets.yml
file with your GitHub credentials and with the secret_key_base
that can be generated using bin/rails secret
.
To start both the Rails application and the single-threaded Sidekiq worker, you can use the well known bin/rails s
and bin/bundle exec sidekiq
commands. If you don't want to bother with two commands, you can use Foreman by typing:
bin/bundle exec foreman start
Please note that when running outside a container, you will have to create the initial sidekiq job from a Rails console:
FetchJob.perform_later
Simply point your browser at http://localhost:3000. Depending on the repo you will have to wait a few minutes for the initial job to finish. The page is configured to refresh itself in every 120 seconds.
Bug reports and pull requests are welcome on GitHub at https://github.com/skateman/dev-board.
The gem is available as open source under the terms of the MIT License.