# User stories

# Roles

  • Visitor - A user visiting the system with no role assigned (not authenticated)
  • Authenticated User - A user browsing but neither a Player User nor a Dungeon Master User
  • Dungeon Master User - A user running a role playing game for others to join
  • Player User - A user playing a role-playing game started by a Dungeon Master User
  • System Administrator - The person running the Dynastra Tabletop instance

# DN-EPIC-0 - General

  • As a project, I must have tools for performing Behaviour Driven Development, so that tests written for the project match clearly defined goals

# DN-EPIC-1 - Logging in to the System

  • DN-E1-US001 - As a Visitor, I must be redirected to a login page, so that I can authenticate with the system
  • DN-E1-US002 - As a Visitor without proper authentication, I must not be able to view any part of the system, so that I abide by the content policy of the System Administrator
  • DN-E1-US003 - As a Visitor with credentials which are locked/expired/disabled/banned, I must not be able to view any part of the system, so that I abide by the content policy of the System Administrator
  • DN-E1-US004 - As an Authenticated User, if I am using the system by moving my mouse or clicking elements of the UI, my login token must be refreshed, so that I can continue using the UI without interruption
  • DN-E1-US005 - As an Authenticated User, if I am not using the system by moving my mouse or clicking elements, or the tab is inactive, my login token must not be refreshed, and my token must expire, so that my session cannot be hijacked by a proximate user
  • DN-E1-US006 - As an Authenticated User, if my token expires, I must forced to log into the system again, so that my session cannot be hijacked
  • DN-E1-US007 - As an Authenticated User, I must be able to log out of the system and my login token be forcibly expired, so that my session can be concluded and not further used.
  • DN-E1-US008 - As a Visitor, I must be redirected to a generic error page if the authentication provider is unavailable or an unexpected error occurs, so that I have an indication of when or whether I can log in.
  • DN-E1-US009 - As an Authenticated User, Dungeon Master User, or Player User, having logged into the system, I must be redirected to a post-login page, so that I can be welcomed to the system
  • DN-E1-US010 - As a Visitor, having logged out, I must be redirected to a logout page, so that I can visually confirm as being logged out from the system
  • DN-E1-US011 - As a Visitor, having just logged out, I must be able to log into the interface by means of a "quick login" display, so that I can re-log-in to the system

# DN-EPIC-2 - Management of the User Profile

  • DN-E2-US001 - As an Authenticated User, Dungeon Master User, or Player User, I must be able to view my profile based on information from the OIDC server, so that I can view my current logged in status.
  • DN-E2-US002 - As an Authenticated User, Dungeon Master User, or Player User, I must be able to click a link on my profile display and view the "edit profile" page provided bvy the external OIDC provider
  • DN-E2-US003 - As an Authenticated User, Dungeon Master User, or Player User, I must be able to view a profile image for my current logged in user, so that I can express my individuality

# DN-EPIC-3 - Management of System Roles

  • DN-E3-US001 - As an Authenticated User, I must be allocated a role of Dungeon Master User when I create a Role Playing Game, so that I can manage the Role Playing Game as a Dungeon Master User
  • DN-E3-US002 - As an Authenticated User, I must be allocated a role of Player User when I join a Role Playing Game, so that I can play the Role-Playing Game as a player
  • DN-E3-US003 - As a Dungeon Master User, I must have certain DM-Only elements visible within a Role Playing Game only to me, so that I can maintain secrecy
  • DN-E3-US004 - As a Player User, I must not be able to see DM-Only elements, so that I cannot change the Role Playing Game configuration
  • DN-E3-US005 - As a Dungeon Master User, I must be able to add other users to the Dungeon Master User Role, so that that user can become a Dungeon Master and run the game if I am absent, or to share responsibilitiess

# DN-EPIC-4 - Listing, Searching and Displaying of Role-Playing Games

  • DN-E4-US001 - As a Dungeon Master User, I must be able to create a "Sharing Link" for a Role Playing Game I have created, so that other people can join my game
  • DN-E4-US002 - As a Player User, I must be able to open a "Sharing Link" to enter a game provided to me, so I can play the Role Playing Game
  • DN-E4-US003 - As a Dungeon Master User, I must be able to toggle making my game invite-only, so I can restrict who can play my Role Playing Game
  • DN-E4-US004 - As a Dungeon Master User, I must be able to toggle making my game visible to the public, so I can restrict who can see and play my Role Playing Game
  • DN-E4-US005 - As a Player User, Dungeon Master or Authenticated User, I must be able to view a list of visible Role Playing Games, so that I can find a Role Playing Game I wish to play.

# DN-EPIC-5 - Creation and Management of Role-Playing Games

  • DN-E5-US001 - As an Authenticated User, I must be able to create a Role Playing Game, so that I can become a Dungeon Master User
  • DN-E5-US002 - As a Dungeon Master, I must be able to edit the details of a Role Playing Game, so that Player Users, Dungeon Master Users, and Authenticated Users can distinguish it from other Role Playing Games
  • DN-E5-US004 - As a Dungeon Master, I must be able to delete a Role Playing Game, so that I can end a campaign or remove one as I see fit

# DN-EPIC-6 - Running Role Playing Games as a Dungeon Master User

  • DN-E6-US001 - As a Dungeon Master User, I must be able to place Tokens on the Game Board, so that Dungeon Master Users and Player Users can move them around the Game Board
  • DN-E6-US002 - As a Dungeon Master User, I must be able to delete Tokens on the Game Board, so that they disappear
  • DN-E6-US003 - As a Dungeon Master User, I should be able to obscure part of the Game Board from Player Users so that tokens underneath it are not visible, so that users cannot see surprises I lay in wait for them
  • DN-E6-US004 - As a Dungeon Master User, I must be able to move individual players between maps, so that they can progress through the Role Playing Game
  • DN-E6-US005 - As a Dungeon Master User, I must be able to move all players between maps, so that I can move users more quickly

# DN-EPIC-7 - Playing Role Playing Games as a Player User

  • As a Player User, I must not be able to see areas obscured from me by the Dungeon Master, so that surprise is maintained
  • As a Player User, when I am moved between maps, I should be informed I am being moved, so that I can see where I am moving to
  • As a Player User, I should be able to see which map I am currently in, so that I can understand the place I am at in the Role Playing Game.
  • As a Player User, I should be able to play on a map separately from other players, so that side-stories can be played

# DN-EPIC-8 - Management of Locations (Maps) as a Dungeon Master User

  • As a Dungeon Master User, I must be able to add "Maps" to a Role Playing Game which outlines an area within the game, so that players can move around
  • As a Dungeon Master User, I must be able to delete "Maps" from a Role Playing Game, so that I can remove them at my will
  • As a Dungeon Master User, I must be able to perform changes to objects on the Map and have them only updated when I have finished editing, so that users do not see many changes to the layout of the map

# DN-EPIC-9 - Navigation of Locations (Maps) as a Player User and Dungeon Master User

  • As a Player User or Dungeon Master User, I must be able to move Tokens around the Game Board, so that I can approximate the Token moving

# DN-EPIC-10 - Management of Characters as a Dungeon Master User

  • As a Dungeon master User, I must be able to edit details a about a given Character's token, so that the information can be updated

# DN-EPIC-11 - Management of Characters as a Player User

  • DN-E11-US001 - As a Player User, I must be able to manage Characters which I can use in Role Playing Games, so that I can progress the game.
  • DN-E11-US002 - As a Player User, I must be able to view tokens which are assigned to me and their basic information, so that I can see which character I am playing
  • DN-E11-US003 - As a Player User, I must be able to change the details of my own token, so that I can update its information as I see fit

# DN-EPIC-12 - Communication between Player Users and Dungeon Master Users

  • As a Player User or Dungeon Master User, I must be able to communicate via text chat to other users, so that I can convey information to others
  • As a Player, I must be sure that my data is not stored, so that my personal data is not harvested by government agencies

# DN-EPIC-13 - Dice Rolling

  • DN-E13-US001 - As a Dungeon Master User, I must be able to roll dice as a token, so that the token appears to have rolled a dice
  • DN-E13-US002 - As a Player User or Dungeon Master User, I must be able to roll dice by entering commands in the chat display, so that I can roll dice quicker
  • DN-E13-US003 - As a Player User or Dungeon Master User, I must be presented with a list of common dice rolls, so that I can roll dice quicker
  • DN-E13-US004 - As a Player User or Dungeon Master User, I must be able to see a list of dice rolls that have been performed in a game so that I can track game actions

# DN-EPIC-14 - The Game Board

  • DN-E14-US001 - As a Player User, I must be able to lock the background layer so that map images do not get dragged as I drag tokens.
  • DN-E14-US002 - As a Player User, I must be able to to measure distances on the game grid and determine the size of each grid square so I can accurately determine attacks and other distance-related actions in role playing games.