D1: Specifications

User Stories

Login Service

  • As a user, I want my log in information to save so that I can start the game easily.
  • As a user, I want my sign up process to be quick and simple so that I don’t miss out on the game.
  • 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 the games easily.
  • As a fan, I want to be able to log in and easily navigate to the game so that I can join immediately and not get frustrated.

Game Service

  • As an admin, I want to be able to end the game at any point so that 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.
  • As an admin, I want to be able to view the statistics of the game so we could see who is winning and any other interesting statistics.
  • 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, Snapchat, and Facebook from the Fanz Play app so that I can brag if my team wins.
  • As a fan, I want to be able to invite friends and see their statistics so that I can compete with them.
  • As a fan, I want the ability to know whether I won a prize so that I can go and redeem the prize.
  • As a fan, I want a screen that can help me confirm that I have won a prize so that when I go redeem, they can confirm that it’s true.

Question Service

  • 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.
  • 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 have an indicator 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.
  • 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 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.
  • The app will direct Fans to certain social medias (for ex. Twitter, Instagram) to post.
  • This app should allow input of user physical addresses so that prizes can be delivered to them.
  • This app should have a saved login so that fans don’t have to login each time.
  • This app should have a guest login for those who don’t want to create an account.
  • This app should allow fans to change answers before time is up.

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 for all ages.
  • This app should be able to have a user friendly admin menu to easily navigate through.
  • This app must be responsive and enable effective interaction with a real-time quiz.
  • 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.
  • This app should be accessible at all times

Perhaps

Functional

  • This app will allow Fans to reset their password if they forget their account.
  • 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 have an elimination mode.
  • This app should be able to reconnect after a short interruption.
  • This app should allow admins to add sponsor advertisements.
  • This app should allow fans to add friends and track their progress.
  • This app should have a loading circle to make sure people know the app is working.

Non-Functional

  • This app should load questions and process answers within a second to keep users engaged.
  • This app should have features accounting for players with disabilities, such as color-blindness.
  • This app should securely store and transmit user information.
  • This app should be accessible from a web browser in case they don’t have the app or are watching the game from a computer screen.

Improbable

Functional

  • This app will be available on the app store.
  • This app will have game notifications based on location services.
  • This app will have modes for non-sports related events such as concerts.
  • This app should take in sound and add up the amount of noise from each team for a cheer meter.

Non-Functional

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