A Registration System for Outdoorsy Trips
Python PHP JavaScript Ruby Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


REGI, an Online Event Registration System

REGI is currently being used by the Boston chapter Hiking and Backpacking committee to register participants for outdoors-type activities like hiking in the white mountains of New Hampshire, backpacking on the Appalachian trail, and learning to snowshoe. You can view the current manifestation of REGI at http://hbbostonamc.org/regi.

REGI Features

  • Event leaders can post details about the event they are hosting, including cost, meals, dates, speed and difficulty of hike/ski/bike/etc, what the terrain will be like, and what type of gear is required for the event.
  • Participants can view all of the events being sponsored by their AMC committee, and those that use REGI for registration will have a direct link to the registration page.
  • Participants can create a profile telling a bit about themselves, including what their usual workout routine is, what kinds of other outdoor experience they have, and any dietary/medicaly restrictions they have
  • With the help of these profiles, event leaders can screen participants, making sure only those properly prepared and outfitted come along.
  • Once a participant is approved for an event, he/she can see all the other approved participants who are going, including contact information, so they can all arrange their own carpooling.

Hosting Requirements

Here's what you need to know to host REGI on your own site:

  • php
  • apache with .htaccess enabled for mod_rewrite and a couple other features
  • mysql
  • a sendgrid account for sending mail (http://sendgrid.com)
  • pear packages: Swift and Spreadsheet_Excel_Writer


Email is being sent through Sendgrid You can log in at sendgrid.com to see how many emails have been sent out. When you install for your particular chapter, you will need your own sendgrid account

Pear Packages

Two pear packages are required.

  • Swift
  • Spreadsheet_Excel_Writer

Once installed, make sure you update the lines that look like: set_include_path('/home/hbboston/pear/pear/php' . PATH_SEPARATOR . get_include_path()); so that they use your include path (where your pear packages are installed) I suggest you test the email and the spreadsheet export before you launch :)

eLyXer (Support Pages)

The support documents are composed in a kick-ass editor named LyX. Google it. eLyXer is installed as part of this git repository. Just update the .lyx documents, and eLyXer will output the corresponding html

Unit Tests

There are unit tests in php/test/unit_tests that you should invoke using 'phpunit test_name.php' I suggest running these before each deploy. In particular, they check the password hashing routine.

System Security

There is a document outlining the security used in REGI. It is located at php/docs/regi_security.lyx It is likely not a complete document, but it will give you a good idea of the password hashing routine that is used


To customize REGI for your particular instance, update php/regi/settings.php Also you will need a file php/regi/passwords/regi_passwords.php that contains the following: