Skip to content

UI Design

Collyn Brenner edited this page Dec 29, 2025 · 7 revisions

Features of the UI

  • Deep Links: Most important to remember: URL is the primary dependency for all data on a page. Navigating to a different URL for the same domain entity will show the same profile but with different data. URLs may even determine certain UI states (like which tab of a tabbed section is active). A quizzer will be able to view their public profile and save it as a bookmark in their browser to come back to it. Their profile URL destination never changes once created. Same for specific Tournaments or anything else that can be navigated to based on an ID present in the URL as a path parameter. (Even tabbed sections of specific Tournaments displaying all Divisions or Rooms or Teams could be directly navigated to directly from an unchanging URL.)

Workflows

  • Saving Stats: For any specified collection of Rounds (or more specifically Games) in the UI Users of role 'Admin' for a given Tournament would be able to take the stats that have been generated and click a 'Save' button which on the data side creates a StatsGroup instantly with associations to all Games included in the StatsGroup. StatsGroups are saved at the Tournament level and are accessible to all Users of role 'Admin' for that Tournament (while on the data side there need only be associations to the games which have references to the Tournament; on the data side, if among all associated Games of a StatsGroup there is found more than one Tournament this is to be considered data corruption and something has gone wrong).
  • Initial Nav: Public visitors will see the landing page. Mid-way down the page is options to search by two means: Tournaments (default) and Quizzers. The paths '/' and '/tournaments' would lead to the same exact page since Tournaments is the default search item, with a button allowing for navigating to '/quizzers' to search by Quizzer.
  • Monitoring Tournament Progress: The 'Rooms' and 'Teams' data grid in the UI would be able to be used by all people viewing QView for monitoring Tournament progress per Room. This means received QuizEvents by QView from various QuizMachine clients would update the Rooms data grid during the Tournament.
image

Clone this wiki locally