Skip to content

columbusrb/prospect

Repository files navigation

Prospect README

Table of Contents

General Information

This application was made for the Columbus Ruby Brigade in order to combine board member nominations and voting into a single platform. This application is dark-mode friendly.

Technology

This project was created with and reliant upon:

  • Ruby 2.7.2
  • Rails 6.1
  • Materialize-Sass
  • Material Design Icons
    • for icon names, reference MDI v. 4.1.95 docs
  • JQuery

Setup

  • Install Ruby and Rails versions, if needed
# Clone repository
$ git clone
# Switch to the repository
$ cd 
# Install dependencies
$ bundle
# Create the database
$ rails db:migrate
# Seed with candidates, if desired
$ rails db:seed
# Start rails server
$ rails s
  • If changes are made to the seed file for local testing purposes, drop the database first, then re-create it. The server will need to be re-started.

  • Because this application is dark mode-friendly, you may want to adjust your rendering for testing purposes using Dev tools (Chrome: Rendering > Emulate CSS media feature prefers-color-scheme).

Dependencies

  • Must be integrated with Slack in order to successfully login.
  • .env file must be included in order to set dates. The variables and date formatting as follows:
NOMINATIONS_START_DATE=2020-MM-DD
NOMINATIONS_END_DATE=2020-MM-DD
VOTING_START_DATE=2020-MM-DD
VOTING_END_DATE=2020-MM-DD
  • Secret keys, client ID, etc. must be obtained from Slack via the Admin. panel.

Tests

  • Minitest (built into Rails)

  • Mocha (primarily used to stub out .env dates and handle dates in testing more easily)

  • test/fixtures/

  • To run all tests

# Run tests
$ rails test
  • Coverage report can be found in .../coverage/index.html after running the tests.
  • Do not listen to RuboCop for the following, because making said changes will break things.
 # Use nested module/class definitions instead of compact style on:
 app/controllers/users/omniauth_callbacks_controller.rb
 test/channels/application_cable/connection_test.rb
 test/test_helper.rb

Deployment

  • CI will run first.
  • Automatic deployments enabled.
  • To manually deploy to Heroku: Heroku heroku git:remote -a app-name-here
  • Make sure to run heroku run rails db:migrate to create the database.

ToDo:

  • Increase test coverage

About

Board voting and nominations application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published