Goal
Context
This model represents a unique game created by EndsideOut. Each game has a unique slug that's used as a URL parameter to construct the link to the game itself: https://endsideoutgames.netlify.app/<game-slug>.
A Game belongs to a ContentModule (mirroring how Link belongs to a ContentModule today). Creating a Game and associating it with a ContentModule is what makes that game show up for students in any classroom module built from that ContentModule.
This model replaces the game value of Link#link_type — games are becoming a first-class concept instead of a generic link.
AC
- An admin can see the index page of all games
- An admin can create a new game with a title, slug (unique), content module, and an optional description
- A route helper is created to generate the external link to the game via its slug
- The
game option is removed from Link#link_type
Goal
Context
This model represents a unique game created by EndsideOut. Each game has a unique slug that's used as a URL parameter to construct the link to the game itself:
https://endsideoutgames.netlify.app/<game-slug>.A
Gamebelongs to aContentModule(mirroring howLinkbelongs to aContentModuletoday). Creating a Game and associating it with a ContentModule is what makes that game show up for students in any classroom module built from that ContentModule.This model replaces the
gamevalue ofLink#link_type— games are becoming a first-class concept instead of a generic link.AC
gameoption is removed fromLink#link_type