This repository has been archived by the owner. It is now read-only.
Application to easily track shifts, reports, and payforms for employees.
Clone or download
Jemin Merge pull request #473 from YaleSTC/472_import_csv_breaks
Import CSV breakage (472)
Latest commit e464115 Aug 25, 2015
Failed to load latest commit information.
app Merge pull request #473 from YaleSTC/472_import_csv_breaks Aug 25, 2015
config Fixes #472. Adds support for multiple roles in import, success and fa… Jul 24, 2015
db setting stats mailer address by default in seed script Feb 23, 2015
doc Move shifts_erd diagram to doc/ Feb 28, 2015
features_old rack_session_access instead of cas filter, move cucumber tests featur… Sep 26, 2014
lib use payform_ids Feb 20, 2015
public Changed application.css Nov 12, 2014
script .gitignore now works Aug 20, 2014
setup Replace all of the hashes with sublime Aug 27, 2014
spec Indentation fixes for the #472 fix Aug 25, 2015
spec_old Merged master into 367_integration_testing Oct 12, 2014
test Replace all of the hashes with sublime Aug 27, 2014
vendor/assets/javascripts refactored js away Mar 9, 2015
.gitattributes Merge branch 'rails-3.2' Aug 20, 2014
.gitignore Fixes #478 by skipping CAS/login check for iCal feeds Aug 25, 2015
.rspec using Fuubar Jan 19, 2015
.ruby-version upgrade to ruby 2.1.2, resolves #258, #288, and #289 Aug 18, 2014
.travis.yml Configure test coverage Feb 28, 2015
Capfile line endings Sep 17, 2013
Gemfile merged master back Apr 3, 2015
Gemfile.lock merged master back Apr 3, 2015
Guardfile guard watcher for factories.rb triggers spec command Sep 26, 2014
LICENSE update to an actual open source license (MIT) Jul 25, 2014 Add Travis badge to Readme Feb 28, 2015
Rakefile removed old js assets, added jquery-rails, moved libs to vendor/assets Dec 9, 2013 rails 3; basic changes Aug 1, 2011

Welcome to Shifts

Build Status Code Climate Dependency Status Test Coverage Inline docs

The old is stored on the wiki and the website.

Shifts is a program that allows the easy tracking of employees who work scheduled (and even unscheduled) hours in various locations and times. It also offers payform features, allowing automatic logging of when employees work shifts, with the option for adding additional hours worked outside of shifts.

There are two sections of the application, one for employees who work shifts, and another for administrators, who manage these employees (Note: administrators can use the application as both administrators and employees, allowing them to perform administrative duties on top of using payforms, shifts, etc.)

Getting Started

There are two mains steps to setting up Shifts: setting up a deployment server and installing the Shifts application.


You'll need the following to run Shifts:


First, checkout a copy of Shifts using git:

cd /your/code/directory
git clone
cd shifts

Shifts uses Bundler to manage dependencies, so if you don't have it, get it, then install dependencies:

gem install bundler
bundle install

Create config/database.yml - you'll need this to be able to connect to your database. Configure it with the correct username and password. Make a copy of the config/database.yml.example and rename it to config/database.yml to start.

cp config/database.example.yml config/database.yml

Then, create the database and run migrations to build the structure:

rake db:create
rake db:schema:load

Finally, start the app locally:

rails server

Just point your browser to localhost:3000 to use Shifts.

Deploying to a Server

Shifts is built using Ruby on Rails, and can be set up (deployed) like most Rails apps. You'll need a server running with the following software:

  • Ruby 2.1.2
  • database server (MySQL is preferred, but any database supported by Rails should work, including PostgreSQL)
  • web server (apache or nginx both work well)
  • Rails application server (we recommend Phusion Passenger)

For a general guide to setting up your web and application servers, including hosting providers, see the Rails Deployment Guide.

Further Documentation

  • System administrators and end-users may like to review our help documentation.
  • Developers interested in getting involved with Shifts can find information on our project wiki

Suggestions and Issues

If you have any suggestions, or would like to report an issue, please either: