Skip to content

Latest commit

 

History

History
24 lines (22 loc) · 1.66 KB

spec.md

File metadata and controls

24 lines (22 loc) · 1.66 KB

Specifications for the Rails Assessment

Specs:

  • Using Ruby on Rails for the project
  • Include at least one has_many relationship (User (as GM) has_many Campaigns)
  • Include at least one belongs_to relationship (A Campaign belongs_to GM)
  • Include at least two has_many through relationships (User has_many campaigns_as_player through Characters, Campaign has_many players (users) through Characters, User has_many Seshions through Campaigns)
  • Include at least one many-to-many relationship (User has_many campaigns_as_player through Characters, Campaign has_many players (users) through Characters)
  • 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 (User has_many campaigns_as_player through Characters; Characters have their own attributes)
  • Include reasonable validations for simple model objects (User, Character, Campaign all validate presence of name (or username))
  • Include a class level ActiveRecord scope method (model object & class method name and URL to see the working feature (User.gms - users/gms)
  • Include signup
  • Include login
  • Include logout
  • Include third party signup/login (Google OAuth 2)
  • Include nested resource show or index (campaigns/:id/seshions)
  • Include nested resource "new" form (campaigns/:id/seshions/new)
  • Include form display of validation errors (/signup, /users/:id/edit, etc)

Confirm:

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