Skip to content
🗓 the main codebar site
Ruby HTML CSS JavaScript Shell Makefile Other
Branch: master
Clone or download
KimberleyCook Merge pull request #1017 from codebar/dependabot/bundler/premailer-ra…

Bump premailer-rails from 1.10.2 to 1.10.3
Latest commit 2621269 Jul 30, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Removes mention of checking social media profiles from eligibility cr… Jul 8, 2019
bin add docker scripts for rails, rspec, rake May 4, 2018
config Removes mention of checking social media profiles from eligibility cr… Jul 8, 2019
db Generates migrartion to add image field to chapters Nov 18, 2018
lib (fix) fix meeting reminders rake task and test Aug 9, 2018
log let's get organised Oct 15, 2013
public added meta data and images of app icons Dec 2, 2017
spec Added text to new job form Jun 8, 2019
vendor/assets mv start rating to assets May 1, 2014
.dockerignore Modify Dockerfile & .travis.yml to run docker-compose in CI May 4, 2018
.gitignore Add local uploads to gitignore Jun 12, 2018
.rspec rspec and haml Oct 15, 2013
.rubocop.yml Forces linux style line endings in rubocop Aug 23, 2018
.ruby-version update rails to 4.2.10 and ruby 2.4.2 Dec 4, 2017
.travis.yml Add support for JS feature tests w/Chrome headless Mar 8, 2019 Add run rubocop to Jan 8, 2018
Dockerfile Add support for JS feature tests w/Chrome headless Mar 8, 2019
Gemfile Bump rubocop from 0.68.1 to 0.73.0 Jul 22, 2019
Gemfile.lock Bump premailer-rails from 1.10.2 to 1.10.3 Jul 29, 2019 Update May 8, 2018
LICENSE Update copyright year Aug 24, 2018
Makefile Fix rebasing options in Makefile Dec 10, 2016
Procfile use delayed job Apr 19, 2015 Clarify README for Docker visible browser tests Mar 12, 2019
Rakefile let's get organised Oct 15, 2013 Use Ruby 1.9 hash syntax Jan 11, 2018
crowdin.yml Update Crowdin configuration file Oct 2, 2018
docker-compose.env configure a docker-compose.env May 4, 2018
docker-compose.yml configure a docker-compose.env May 4, 2018 Remove PhantomJS/Poltergeist as currently unused Mar 5, 2019

codebar website & event planner

Build Status Coverage Status Code Climate

A tool to help manage members and events.

If you are considering making a PR, please take a look at the GitHub issues to see if there are any new feature requirements or bugs that you maybe able to help resolve.

Need help? We're on Slack!

Getting Started

The following steps walk through getting the application running. Before you start, please check out our contributing guidelines.

  1. Clone the project
  2. Enable GitHub Authentication
  3. Install and set up the environment
  4. Run the tests
  5. Start the app

1. Clone the project

  1. Navigate to your project's chosen parent directory, e.g. cd ~/Documents/codebar
  2. Clone the project, e.g. git clone
  3. Navigate into the project directory: cd planner

2. Enable GitHub Authentication

The application uses GitHub OAuth for user authentication. You'll need to create a new OAuth application on your GitHub account, then add the key and secret to your project's environment variables.

Create a new Github OAuth application

Visit and fill out the form to create a new application. Use these field values:

Field Value
Application name Something memorable, like 'codebar planner'
Homepage URL http://localhost:3000
Application description Something memorable, like 'Local codebar app authentication'.
Authorization Callback URL http://localhost:3000/auth/github

Add your application details to your environment variables

  1. Run touch .env to create a file named .env in the root of the application folder.
  2. Open this .env file in a text editor, and add the GitHub key (Client ID) and secret (Client Secret) like so:

Windows doesn't like creating a file named .env, so run the following from a command prompt in your project folder:

    echo GITHUB_KEY=YOUR_KEY >> .env

3. Install and set up the environment

We recommend using Docker to install and run the application. However alternatively if you prefer, you can install directly to your system environment instead.

Install using Docker

Before you start, you will need to have Docker installed and running. You can download it from the Docker website.

The current Dockerfile and docker-compose were closely copied from the Docker guide.

  1. Run bin/dbuild to build and setup the docker environment.
  2. Run bin/drake to run all the tests and make sure everything works.

4. Run the tests

Run bin/drake to run all the tests and make sure everything works. You can also use bin/drails and bin/dspec to run specific rails and rspec commands via docker.

Running single tests/test files

If you just want to run a single test file you can pass the path to the file, either using rspec or via the SPEC variable with rake:

bundle exec rspec <path to test>
bundle exec rake SPEC=<path to test>

This can also be used with specific line number (running only that one test), for example:

bundle exec rspec spec/features/admin/manage_workshop_attendances_spec.rb:42
bundle exec rake SPEC=spec/features/admin/manage_workshop_attendances_spec.rb:42

These also work with the corresponding bin/dspec and bin/drake commands.

Running JavaScript enabled feature tests with a visible browser

There are a small number of feature tests marked with js: true which use headless Chrome. These can be hard to work with without being able to see what is actually happening in the browser. To spin up a visible browser, pass CHROME_HEADLESS=false as part of the test command, for example:

CHROME_HEADLESS=false bundle exec rspec

Running JavaScript enabled tests with a visible browser currently doesn't work with Docker.

5. Start the app

Run bin/dstart to start the app.

This should run a process which starts a server in a Docker container on your computer. This process won't finish - you'll know the server is ready when it stops doing anything and displays a message like this:

Rails 4.2.11 application starting in development on

You can now view the app at http://localhost:3000

You can stop the server when you're finished by typing Ctrl + C.

Front-end framework

We use Foundation at version 5.5.3, you can find the documentation here:

Finding something to work on

You can pick one of the open issues, fix a bug, improve the interface, refactor the code or improve test coverage!

If there is something else that you would like to work on, open an issue first so we can discuss it. We are always open to new ideas and ways of improving planner!

Guidelines on contributing to planner

You can’t perform that action at this time.