D1 Specifications

  1. User Stories
  2. Requirements

User Stories

Login Service

All Users

  • As any user, I want to be able to log on to the app from the same login page so that I can enter the app.

User Service

All Users

  • As any user, I want to be able to sign up on the app from the same sign up page so that I can enter the app (creating a new user).

Admin

  • As an admin, I want to be able to log in and be taken to the admin side of the app so that I can manage games.

Game Service

Admin

  • As an admin, I want to be able to end the game at any point so I can control how long the game will run.
  • As an admin, I want to be able to change the state of the game so that fans can see different parts of the game process/can be taken to the questions. 
  • As an admin, I want to be able to edit game details so that games are up-to-date and accurate.
  • As an admin, I want to be able to delete games to prevent canceled games from being played.
  • As an admin, I want to be able to reset games to ensure games can be returned to their original state.
  • As an admin, I want to be able to add a new game so fans can play at a newly announced sporting event.
  • As an admin, I want to be able to add a new team so that the app can be used during sporting events they play at.
  • As an admin, I want to be able to edit a team so that any incorrect information about the team can be corrected.

Fan

  • As a fan, I want to be able to join a game so that I can answer questions for that game.
  • As a fan, I want to be able to see a list of upcoming games so that I can take note of which games I want to play.
  • As a fan, I want to select which team I’m rooting for so that my play can be attributed to my team’s fan base. 
  • As a fan, I want to see the logo for the teams that are competing so that I can feel more part of a collective (team) rather than only an individual player.
  • As a fan, I want to answer questions so that I can help my team’s fans win.
  • As a fan, I want to see which team won after a game concludes so that I can flex my superiority if my team wins. 
  • As a fan, I want the ability to go to Twitter, Instagram, or Facebook from the Fanz Play app so that I can brag if my team wins.

Question Service

Admin

  • As an admin, I want to be able to add questions to a game’s question bank so that I can create a game based on the trivia of the teams playing.
  • As an admin, I want to be able to remove questions from a game’s question bank so that if they contain typos or false/out-of-date information, they are not used in games.
  • As an admin, I want to be able to edit a question so that any mistakes in the question can be corrected.
  • As an admin, I want to be able to set and adjust the time for each question so I can control the cadence of the game.

User

  • As a fan, I want to see questions and select an answer for each question so that I can participate in the game. 
  • As a fan, I want to be able to change my answer before I press submit so that I can update my answer if I change my mind. 
  • As a fan, I want to be able to see how much time is left for each question so that I can speed up/slow down if I need to.
  • As a fan, I want to see how many questions I’ve gotten right at each point in a game so that I can track my progress.
  • As a fan, I want to see the correct answer to a question after the time is up so that I can check if I answered correctly or not.
  • As a fan, I want to see the current standings between questions so that I can flex my team’s superiority if we win.

Requirements

Definite

Functional

  • This app will allow Fans to sign-up, log-in, and update their accounts.
  • This app will allow Fans to join a game and select which team they are on. 
  • This app will take Fans to a lobby page to wait before the admin starts the game.
  • This app will allow Fans to answer trivia questions with a countdown timer.
  • Once the time runs out, the app will allow Fans to see what the correct answer was on the leaderboard page.
  • The app will allow Fans to see each team’s trivia score after each question.
  • This app will allow the Admin to create, edit, and delete teams, questions, and games.
  • This app will allow the Admin to start a game and move from question to question. 

Non-functional

  • This app must run on Apple and Android mobile devices.
  • This app must be easily deployed for demo purposes.
  • This app must be easy to use and navigate.
  • This app must be responsive and enable effective interaction with a real-time, timed quiz.

Perhaps

Functional

  • This app will allow users to choose their team, and the app’s skin colors will be changed to those team’s colors.
  • This app will allow users to play the games remotely.
  • This app will allow Fans to reset their password if they forget their account.
  • The app will direct Fans to certain social medias (for ex. Twitter, Instagram) to post.

Non-functional

  • This app will be able to handle large groups of players using the application.
  • This app will have data analytics functionality to analyze player activity.

Improbable

Functional

  • This app will have pop-up surveys for users to take which collect additional user data.
  • This app will allow for admin to export a user’s information to corporate sponsors.
  • This app will be available on the app store.
  • This app will have game notifications based on location services.
  • This app will have an elimination mode.
  • This app will have modes for non-sports related events such as concerts.

Non-functional:

  • This app will have the capability to handle approximately 4.2 million users (those at the game and watching remotely) 
  • This app will provide 24/7 support