Based on the wonderfully creative fun of the original Penguin Books Mad Libs of my youth, this social app takes a new spin by making it fun to create, share, and get responses back from friends and acquaintances.
It also serves as an educational example of how to model users in Couchbase and utilize the Couchbase Ruby gem with Rails.
Getting Started Wiki
Learning Data Modeling Patterns
- Couchbase Ruby Gem
This is a fundamental gem for this application for using ActiveModel and the Couchbase database. For more information about setting this up on your system, please refer to: github.com/couchbase/couchbase-ruby-client
- Dalli Gem
This allows us to use Couchbase for the Rails cache instead of the default cookies and Sqlite3 based ActiveRecord. For more information on setting this up, refer to: github.com/mperham/dalli You can see the settings in config/application.rb, and config/initializers/session_store.rb
- Wordnik Gem
This allows us to lookup word definitions, parts of speech, and more great and useful information. For more information on setting this up refer to: github.com/wordnik/wordnik-ruby Also, you need to create an API key by going to: developer.wordnik.com You can refer to their API docs by going to both developer.wordnik.com/docs and rubydoc.info/gems/wordnik/4.07/frames
- Sass Rails Gem
For the wonderfully programmatic creation of CSS3, a default install with rails, but I prefer the alternative sass syntax over the scss syntax.
This is a great Facebook API gem for convenient lookups of user info, etc. Refer to: github.com/arsduo/koala
For convenience I use many gems that make life easier:
- ThoughtBot's Bourbon
A great little gem for creating environment based global settings through an application scope class/object. The settings are stored in a yaml file in the config folder. Refer to: github.com/charlotte-ruby/yettings
A great indifference gem for Hashes, allows nesting as well by Ara Howard, use strings or symbols for hash lookups. Refer to: github.com/ahoward/map
A great gem for colorizing your terminal puts and debugging messages. Refer to: github.com/flori/term-ansicolor