Diners Club

Diners Club is a web application that lets you schedule outings with a group of friends, providing an easy way for everybody to keep up to date on where to go, when to get there, and who is coming. Since it is a web application, you can set it up to be accessed from anywhere you choose, by anyone you wish.

Features

  • Create, update, or display outings.
  • Specify information about each outing, including date, time, and which diner is sponsoring the outing.
  • Specify information for each outing’s restaurant, including name, description, address, phone number, and website.
  • Specify the location of the “afterparty” after the outing, be it the home of a diner, or a bar.
  • Allows diners to indicate if they will or will not be attending that outing.
  • Links that give customized maps and directions to each diner from their house to the outing location.
  • Links that give maps and directions from the restaurant to the afterparty location.
  • Easily send emails to all diners when a new outing has been created.
  • Email reminders to unresponsive diners asking them to sign up for or decline scheduled outings.
  • Email reminder the week of a scheduled outing to all those who signed up.
  • Diner’s section which allows each diner to specify their name, address (for generating directions), email address, email preferences, and food preferences.
  • Tootips on each form that provide additional information on what is expected to be entered in each field of the different forms.
  • Clean looking index page that lists the scheduled outings, and lets you blind down to see suggested outings, and past outings.
  • Automatically emails the outing sponsor with the changes to an outing when they have been made (i.e. somebody changes their status from IN to OUT, or visa versa).

Screen shots


Demo

Please email me if you would like to see a demo.

Download

http://github.com/jwood/diners-club

History

My friend’s wife, Linda, had been talking about setting something up where our group of friends would get together once a month for dinner. Not only to get together and see everybody once in a while, but also as a means to try out some new restaurants. I offered to keep track of the list of restaurants along with their dates/times on a static web page. Linda thought that was great, but wanted to know if I could provide a way for people to indicate if they were coming or not. The geek in me took over, and we eventually ended up with the feature set listed above.

Diners Club was my third Rails app. I went with Rails, yet again, because there were opportunities here for me to try out some Rails stuff that I had not tried yet, like writing custom Rake tasks (for the email reminders), and working with ActionMailer (for the email reminders and the new outing announcement). This was also the first Rails app I had done where the intended user base extended beyond my wife and I. So, I focused on making the app as usable as possible. As a result, there is a lot of form validation, different paths in the code depending on if the user specified their address or email address, tooltips on each form, and user specific email settings.

Afterthoughts

I think Diners Club is my most complete Rails app. Even thought it is small, it is the most complete functionally. I think this is a direct result of writing it for users beyond me. There is not much left to do with this app. If some new requirements pop up, they will likely be implemented right away. Again, this is because I am not the only user of the tool.

Diners Club will likely be the last Rails app that I develop for myself. Not because I don’t like Rails (I DO!), but because I feel real comfortable with it now, and it’s time to get out of my comfort zone and push myself to learn something new.

Be Sociable, Share!