Roadmap - TournamentStreamHelper/TournamentStreamHelper GitHub Wiki

!! WORK IN PROGRESS !!

Frontend

Notes:

  • Using React and Mantine UI to mimic closer to existing Qt GUI
  • Zustand stores are synched with the backend so that the states are the same across devices (e.g. computer, phone)
    • StateManager
    • SettingsManager

Main

  • Implement main user interface features of TournamentStreamHelper Qt to closely match for functionality
  • Set Tournament: Modal prompt to set a tournament URL, store it in StateManager
    • Can be set to a blank value to reset
  • Load tournament and sets from user: Mainly oriented toward a Startgg user, however with extensions, this can be changed from Startgg to other providers
    • Setting a user will be set in Settings
  • Select Game Dropdown
    • If assets aren't downloaded when selecting from Game Dropdown, ask the user if they want to open Asset Manager to download
  • Number of Scoreboards
  • Modify Scoreboard Tab Name
  • Menu: Should this be a hamburger menu or as a Menu Bar?
    • Settings
    • Always on top
    • Check For Updates
    • Download Assets
    • Toggle Widgets: Checkbox multi-select for all tabs
    • Language: Dynamically fetch this from available i18n json files at program startup
    • Help
      • Wiki
      • Forum
      • Report a Bug
      • Discord
    • About
  • Settings: Modal to save to SettingsManager
    • General
      • Enable Profanity Filter
      • Enable Score Control from Stage Striking App
      • Disable Automatic Set Updating for Scoreboard
      • Disable TSH File Exporting
      • Do not override existing values in local_players.csv
  • Add Tabs for All Widgets: Should be able to be dragged to be re-ordered
    • Scoreboard Manager
    • Ruleset
    • Commentary
    • Tournament Info
    • Thumbnail Settings
    • Player List
    • Bracket
    • Additional Notes

Scoreboard Manager

  • Multiple Scoreboard Support: As tabs that can be reordered by dragging
  • Characters Per Player via NumberInput, default: 1
  • Players Per Team via NumberInput, default: 1
  • Teams
    • Select Team Color via Color Picker
    • Select if Team is in Losers (for Grand Finals)
    • Player Tag
      • Sponsor
      • GamerTag
    • Real Name
    • Twitter
    • BlueSky (if any service adds support...)
    • Pronouns
    • Location
      • City
      • State/Province
      • Country
    • Characters
      • Character Dropdown (Bowser, Jigglypuff, etc.) with Preview Icons
      • Skin Dropdown (Green Headband, etc.) with Preview Icons
      • Variants
    • Additional Information
  • Score
    • Phase: Pools, Top 64, Final Bracket
    • Match
      • If Pools: Winners Round 1, Losers Round 3, Winners Bracket R2 Qualifier, Losers Top 64 Qualifier
      • Not Pools: Winners Top 128, Losers Top 24, Winners Semi-Final, Losers Final, Grand Finals, Grand Finals Reset
    • Best Of (NumberInput)
    • Score as NumberInput
    • Reset Score
    • Swap Teams
  • Stream URL
  • Track Sets from Stream or Station
  • Load Tournament Set
  • Load User Set

Backend