Requirements (Rough Draft) - maykev/shotclockscorekeeper GitHub Wiki
Three modes of operation
-
Fully connected (online brackets and live scoring)
-
Semi connected (live scoring, no brackets)
-
Disconnected (no live scoring, no brackets)
-
Fully Connected
- Brackets created on web server through the web UI
- Scheduled matches displayed on home screen of mobile app (in the order they should be played)
- The list of matches should update regularly because another tablet could of taken a match. If the selected match has already been started by another tablet then the request to start it should be rejected or prompted for confirmation (could be that other tablet has been retired)
- Mobile user selects a match and the app enters play match activity (starts with games on the wire etc, send score updates etc)
- Mobile app will know what games on the wire are and what the race is too i.e. race to 9. When a player reaches the number of games required to win i.e. 9 then a prompt should be given asking for confirmation if said player won. We might want to offer a configurable password here as tournament directors might want to do this themselves rather than the player doing it. Trust me the players can mess anything up.
- When the tournament is created on the web UI, a live bracket will be created and the scheduling order of matches will be determined. This will be sent to mobile app in JSON (tbd)
- As score updates are sent to the web server, the live scoring and live brackets will be updated.
- When a result is confirmed the web server will update the bracket accordingly.
- Semi Connected This is more or less what we're doing right now with some minor enhancements
In this mode we should encourage setup on the web UI but be flexible enough to not enforce it.
- Allow new players to be added on the mobile app. This will include name and level i.e. pro, semi-pro, open. The list of levels can be retrieved from the web server, delivered as JSON (tbd)
- Allow arbitrary table numbers to be entered, or from list as it works now
- Retrieve max score (currently 11) from web server via JSON (tbd)
- Don't allow a match to be created with the same player i.e Ryan Lepinski vs Ryan Lepinski
- Disconnected This is a pure mobile app, completely disconnected from the web.
- Allow creation of match between two arbitrary players (type in the names, need to set a length limit I guess)
- No need to set games on the wire or length of race, just allow the scores to be changed at will (don't allow negative though)
- Shot clock in portrait and not in landscape as we currently do. Allow switching between orientations at any time.
- All
- Should allow user to connect/disconnected to a fully or semi connected system by adding URL, and some method of authentication (tbd).