alkaha / reservations

Manages reservations for equipment (allows student reservations)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Welcome to Reservations

Build Status Code Climate Dependency Status

Reservations makes it easy to manage the checking in and out of equipment, much like a library! Here are some of the things Reservations can do:

  • manage your inventory of equipment, including storing serial numbers, manuals and other documents, and more.
  • present an attractive catalog of equipment, including pictures, so people can browse and search your equipment.
  • allow people to reserve equipment in advance, according to rules you set.
  • enforce rules on who can reserve what equipment, and for how long.
  • manage checking in/out equipment, including unique checklists for each item.

Getting Started

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

Prerequisites

You'll need the following to run Reservations:

Installation

First, checkout a copy of Reservations using git:

cd /your/code/directory
git clone https://github.com/YaleSTC/reservations.git
cd reservations

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

gem install bundler
bundle install

You'll need to edit config/database.yml to point to your database, including the correct username and password. See Rails Guides for common database examples.

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

rake db:create
rake db:migrate

Finally, start the app locally:

rails server

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

Deploying to a Server

Reservations 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 1.9
  • 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 (usually Passenger Phusion aka mod_rails)

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

Config

Reservations is built using the CAS authentication system, using the gem Ruby-Cas Client.

To point the gem to the correct CAS server, add the following to your app's config/environment.rb (make sure that you put it at the bottom of the file, after the Rails Initializer):

CASClient::Frameworks::Rails::Filter.configure(
  :cas_base_url => "https://cas.example.foo/"
)

(Change the :cas_base_url value to your CAS server's base URL; also note that many CAS servers are configured with a base URL that looks more like “cas.example.foo/cas”.)

Reservations ships with the default config time set to Eastern Time (US and Canada). To change the time, edit config/application.rb config.time_zone = 'Eastern Time (US & Canada)'

Further Documentation

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

Suggestions and Issues

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

About

Manages reservations for equipment (allows student reservations)

License:MIT License