Skip to content

Latest commit

 

History

History
24 lines (22 loc) · 1.54 KB

spec.md

File metadata and controls

24 lines (22 loc) · 1.54 KB

Specifications for the Rails Assessment

Specs:

  • Using Ruby on Rails for the project
  • Include at least one has_many relationship (User has_many ratings, Course has_many ratings, etc.)
  • Include at least one belongs_to relationship (Rating belongs_to user, Rating belongs_to course, etc.)
  • Include at least two has_many through relationships (Course has_many users through ratings, User has_many courses through ratings)
  • Include at least one many-to-many relationship (Course has_many users through ratings, User has_many courses through ratings)
  • 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 (Rating has content and stars)
  • Include reasonable validations for simple model objects (Course, Rating, and User models all have validations)
  • Include a class level ActiveRecord scope method (Subjects can be ordered alphabetically and courses can be ordered by subject alphabetically)
  • Include signup (BCrypt)
  • Include login (BCrypt)
  • Include logout (BCrypt)
  • Include third party signup/login (Google OmniAuth)
  • Include nested resource show or index (user/1/ratings/1)
  • Include nested resource "new" form (users/1/ratings/new)
  • Include form display of validation errors (_errors.html.erb)

Confirm:

  • The application is pretty DRY
  • Limited logic in controllers
  • Views use helper methods if appropriate
  • Views use partials if appropriate