Requirements - SCCapstone/teamMuseumKiosk GitHub Wiki

Detailed Design

  1. System has basic GUI of:
  • 1.1. Start screen
  • 1.2. Initials/email screen
  • 1.3. Quiz format screens
  • 1.4. Idle screen
  • 1.5. End screen
  • 1.6. Admin screen
  • Each will implemented by JavaFX
  1. User is required to enter initials and email to start the game. Failure to enter credentials will result in user unable to play the game. This will be implemented using a JavaFX interface and Java for logic.
  2. Client (SC State Museum) can collect users' emails through the system. This will be exported from the application into a .CSV file. The client can then extract this file from the system in an offline format, as requested. Implemented through Java.
  3. User can complete a game in a timely manner. The game will end if user misses a number of questions, rather than playing through every question available. The client can adjust how many questions the user is allowed to miss before the game will end through the admin menu.
  4. System can display advertisements uploaded by the client. The client can upload and select advertisements through the admin screen. This will be implemented through JavaFX.
  5. Client can preload questions and advertisements into the system. The client will do this by accessing the admin screen and selecting the options accordingly.
  6. System will run offline, ie. not connected to the internet.
  7. System can order questions based on difficulty. This will be accomplished via a difficulty field in each question's data record in the questions CSV file. The client will assign each question a difficulty during their creation of their provided questions. When loading the questions to the quiz screen, the quiz will select a random sample of questions with varying levels of difficulty based upon this recorded value. A question of course will consist of the text of the question, a correct answer, other incorrect answers, a difficulty, and a field to denote if the question includes audio, video, or a picture and where that resource is located.
  8. System can show high scores for the day, week, etc. which will be implemented with JavaFX.
  9. System can update high scores according to whatever the current top 10 high scores are. The client can decide whether to show the top daily, weekly, or monthly scores through the admin menu.
  10. Application can be rescaled to a large monitor with touchscreen capabilities. Carefully designed and implemented using JavaFX.
  11. Audio, image, and video capability for questions and advertisements which will be implemented with JavaFX.
  12. Client can use kiosk for other displays, meaning easy take down of application and start up afterwards.
  13. Application can allow client to edit question within the application and update the question object accordingly.

Approved.