Launchpad is a rails app designed to be a one-stop spot for seeing what you need to do today. The app integrates various services (RTD bus times, Google Calendar, Wunderground weather) into helpful widgets. The application can be installed to the iOS homescreen and provides at-a-glance information about your day.
Launchpad uses Devise for authentication. Specifically, we're using :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable. The base urls are as follows:
/users/sign_in-- Sign in/users/sign_out-- Sign out/-- Everything else
For handling Widget behavior we are using the STI design pattern. This involved having a single table for instances of Widgets that uses a different subclass of Widget depending on the setting of the type column. Rails supports this pattern out of the box.
References: