Skip to content

uwcrt/Real-Magic-Scheduler-update

Repository files navigation

THIS REPOSITORY IS NO LONGER MAINTAINED - RMS is now hosted internally, reach out to the coordinators for more information

Real Magic Scheduler

RMS is a web based application written in rails. It was first uesd by the University of Waterloo's Campus Response team to schedule first aid responders for shifts. It allows administrators to create, edit and delete shifts, and it allows users to take shifts given that they meet certain criteria. The numbers of hours each user has completed is automatically tracked.

Official Haiku

Writing shift program

"Cannot find object named 'shit'"

Oh man not again!

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Install ruby 2.6.0

brew install ruby

Finally install PostgreSQL.

On Mac:

brew install postgresql

Installing

Next clone this repository

git clone https://github.com/uwcrt/Real-Magic-Scheduler-update.git

Then install the necessary gems

bundle install

Start PostgreSQL:

brew services start postgresql

Create a postgres user

/usr/local/opt/postgres/bin/createuser -s postgres

And create your database

rake db:create:all
rake db:migrate

Finally to use the app manually create your first admin user

rails console
u = User.create username: "...", first_name: "...", last_name: "...", admin: true

At this point you should be able to start a server locally

rails server

Running Tests

bundle exec rspec spec

Deployment

Submit a pull request to deploy to the production Heroku server.

Optional Environment Variables

There should not be any mandatory environment variables. The app should run fine with zero configuration.

  • NOTIFICATION_BACKOFF - The minimum amount of time between new shift emails. Default to 3.hours
  • TZ - The timezone that the app is running in. Defaults to 'UTC'
  • SENDGRID_USERNAME - The sendgrid username used to send emails, no default. Email will not send without this
  • SENDGRID_PASSWORD - The sendgrid password used to send emails, no default. Email will not send without this
  • WEB_CONCURRENCY - The number of unicorns to run concurrently. Defaults to 3
  • SCHEDULER_EMAIL - The Director of Scheduling's email address
  • SHIFT_SIGN_OUT - The link to the shift sign out form (link is not displayed if unset)

Feature Tracking

Features are being tracked on story board here

Releases

No releases published

Packages

No packages published

Languages