A Ruby on Rails web application for use in the registration of attendees to small university conferences or symposia.
This isn't mind-blowing code, it's just another Rails app. Why do this when there are other options? Well...
Sadly, this is my annual work excuse to (re-)construct a Rails app for gathering symposium registration information. Creating web apps in Ruby on Rails is quite simply fun - a challenge. It's also a good excuse to investigate new gems, services, and technologies. I don't get enough Ruby in my day job. This project has evolved over the past few years. Each iteration adds new features and cleans up code.
- Simple semi-static pages for event information
- Receive information from attendees including an abstract via file upload (S3 Storage using Paperclip)
- Email attendee their registration receipt (using SendGrid addon at Heroku)
- All registrations receipts are publicly available (URLs slugged with Friendly_ID)
- All administrative actions (view all/index, edit, delete) require authorization via Authlogic. Although, openid seems like a better idea.
- Export all registration data except for attachments into CSV (FasterCSV) formatted file
- Download all abstracts from S3 into a zip file (Rubyzip; Paperclip)
- Toggle on/off registrations (rails-settings)
- Take payment
- User modifying their registration (modification only by Admin) although this would probably be not that difficult to implement.
Step 1. Add and complete required files
Complete and add to project the following files (example files are included):
Hoptoad is included as a gem. Rake file is also included, but you'll need to add your own config file. Run:
script/generate hoptoad --api-key your_key_here
For Heroku, make a .gems manifest file as FasterCSV and rubyzip as they are required but not available by default. See http://docs.heroku.com/gems
to generate a new pseudo-random key.
Replace new generated key with the old key in
Modify the semi-static pages and layouts to your liking. You'll find them in app/views/page/ and app/views/layouts/page.html.erb, respectively.
Get up and running on Heroku. Follow these steps in the Heroku Docs. Assuming that you already have a fork or copy of Reggie as a git repo, begin with the Heroku Quickstart step 2.
Heroku and Amazon S3 for file uploads, but this could be easily modified for a VPS host.
Language / Framework
- Ruby 1.8.7 p72
- Rails 2.3.5
Plugins / Gems / Generators
- Amazon S3
- SendGrid via Heroku Account
Copyright © 2010 Chase Southard, released under the MIT license.