Specs:
- Using Ruby on Rails for the project
- Include at least one has_many relationship (open_mic has_many instruments)
- Include at least one belongs_to relationship (instrument belongs to an open_mic)
- Include at least two has_many through relationships (open_mic has_many users through supports, user has_many open_mics through hosts)
- Include at least one many-to-many relationship (open_mic has_many users through supports, user has_many open_mics through hosts)
- The "through" part of the has_many through includes at least one user submittable attribute, that is to say, some attribute other than its foreign keys that can be submitted by the app's user (the support model has title and body attributes)
- Include reasonable validations for simple model objects (instrument, open_mic, support, user)
- Include a class level ActiveRecord scope method (support model has a lend_a_hand scope and missed_connection scope to separate out the different applications of the model)
- Include signup (part of user model, password secured with Bcrypt)
- Include login (part of user model, password secured with Bcrypt)
- Include logout (part of user model, password secured with Bcrypt)
- Include third party signup/login (OmniAuth-facebook)
- Include nested resource show or index (open_mics/2/supports/1)
- Include nested resource "new" form (open_mics/2/supports/new)
- Include form display of validation errors (/open_mics/new)
Confirm:
- The application is pretty DRY
- Limited logic in controllers
- Views use helper methods if appropriate
- Views use partials if appropriate