Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Text
Type
Comments
[title]
Dynamic
Default is CouchPotato but can be configured using the title1
and title2
properties in the config.json
file.
[icon/Image]
Dynamic
The icon or image shown in the top left of the header. Configured using the iconsmall
property in the config.json
file. Default is couch-potato.png
[version]
Dynamic
The version number/value of the release. Configured using the version property in the config.json
file.
Local Time
Static
[time]
Dynamic
The current time in the format [hh:mm:ss]. Time changes every second.
[username]
Dynamic
The (user)name of the logged in user.
Caption
Type
Action
👤
Icon
Open the account menu.
Replay
Button
Open the Replay screen.
The notifications panel is displayed on the right side of the dashboard and is where all notifications (reminders) will be posted for all games about to start or finish.
The notifications will be refreshed at a configurable millisecond interval set in the notifications->delay
property in config-dataproxy.json
. The default will be 3,000 (3 seconds).
Each notification will take the form of a 'note' which will have the following information:
The colour of the notes is very important and must be visibly obvious. The colour of the note is set by the following criteria:
Green
Any game that is in the range 30 - 15 minutes to it's scheduled start time.
Any game that is in the range 30 - 15 minutes from it's predicted end time.
Amber
Any game that is in the range 1 - 14 minutes to it's scheduled start time.
Any game that is in the range 1 - 14 minutes from it's predicted end time.
Red
Any game that should have started according to its scheduled start time.
Any game that is in the range 30 - 15 minutes to it's predicted end time.
The notifications rely on the start and end times of each game. The start time is taken as the time entered for any game when it was created, this is the only value that can be used.
The end time is more complicated because for many sports it's very hard to predict when a game ends because of time-outs, extra-time etc. For example, a game of soccer is much more predictable because the clock doesn't stop during play. So a game is likely to be two halves of 45 minutes, 15 minutes of half-time and perhaps 5 minutes of extra time, so 45+45+15+5 = 110 minutes.
However, a game of football, even thought it's four quarters of 15 minutes, has time-outs and regular clock stops, so the time the game will finish is a very broad average.
The duration of any sport is set in the duration
column of the sport
table. The default values are based on the accepted average durations for these sports.
Note: Because the end times are largely unpredictable the notification for game finishes should say "might have finished" rather than "should have finished"
Each note is tied to a game and as such will be automatically removed from the notification panel as soon as the status of the game is updated. For example, if a note states that game x "SHOULD HAVE STARTED", then as soon as the game is started from the game selector, the note will be removed.
To keep things tidy notes can be set to be be automatically removed after a set interval (in hours). This means that if games haven't been started, instead of the warning note appearing even after [x] days when there would be no point updating the status of the game, it will be removed.
The number of hours after which a notes should be removed is set in the notifications->end
property in config-dataproxy.json.
The default value is 240 (10 days).
Each note is 'clickable', and when any note is clicked on it will automatically open the game selector for the selected date / league / sport combination. The game in the selector, that corresponds to the game on the selected note, will be highlighted for easy identification. For more information see:
Text/Image
Type
Comments
[icon]
Dynamic
The icon associated with the league for the game.
[start date/time]
Dynamic
The start date and time of the game
[sport] ([league])
Dynamic
The sport and league of the game
[home team] v [away team]
Dynamic
The home and away teams
[Status]
Dynamic
The time in minutes until start or end and the following text according to the rules above:
STARTS IN [x] MINUTES
SHOULD HAVE STARTED
MIGHT FINISH FINISH IN [x] MINUTES
MIGHT HAVE FINISHED
The account menu is accessed by clicking on the user icon at the far right of the header.
The account menu has two features.
Click on the Change Password menu item to open the Change Password screen
Click on the Log Out menu item to log out of the application and return to the Home Page.
Note: The Account Menu will automatically close after 10 seconds if it isn't used.
The components of the dashboard are:
The dashboard is the main screen and is opened from the as soon as the user is logged in.
The sports tab runs horizontally across the dashboard and displays one tab for each sport that is enabled. The tabs are dynamic and configured through the MySql database Sports
table.
The order the sports tabs are displayed in is defined by their id
value in the Sports
table.
There is no limit on the number of sports tabs that can be created. If the tabs reach the horizontal limit of the application then they will stack in to multiple rows. Realistically there should never be so many sports enabled at any one time to cause the tabs to be stacked.
Important: The sports tabs must be 100% configurable through the database only. Sports must be added or removed without any code changes.
Clicking on any unselected tab will:
Update the Leagues Tabs to show only the leagues associated with the selected sport.
Change the calendar display to show only events for the selected sport and league.
By default, when a new sports tab is selected the league will default to the first one in the list.
Note: There is no restriction on the icons/images to be used for each sport, but logically they should reflect the sport!
Text
Type
Comments
[sports name]
Dynamic
Value set in Sports
table
[icon]
Dynamic
Path and name defined in the icon
column of the Sports
table.
The icon itself must exist in the corresponding asset/imgs
folder in the application
Caption
Type
Action
[Sport]
Text
Change calendar and leagues to selected sport.
The calendar component is the main 'engine' of the application. It's here that the user will navigate through, enter and select new games.
The calendar will dynamically create a month plan for each month selected using the forward (>) and backward (<) selectors. There will be no upper or lower limits for the first release.
Every time the calendar changes from December -> January or January <- December the year will change accordingly.
The numbers of days will be adjusted for each month and take into account leap years.
Weekdays will be displayed as Sunday -> Saturday.
The current day should be a different colour and larger than the other days.
Moving the cursor over any day cell will highlight it.
If a day has at least one game scheduled then the crest for the league associated with the current calendar will be shown in that day cell.
If a day has at least one game scheduled then a badge for the total number of games will be shown in that day cell.
Text
Type
Comments
[Month]
Dynamic
Changes according to the selected month.
[Year]
Dynamic
Changes according to the movement of the month.
Day Names
Static
Sunday thru Saturday
[Day Number]
Dynamic
Generated according to the number of days in the month and the day name of the first day
[League Crest]
Dynamic
Depends on the sport and league for the calendar at the time.
[Game Counter]
Dynamic
The number of games for the date, sport, league in any given day cell.
Caption
Type
Action
<
Text
Move month forward
>
Text
Move month backward
[Day Cell]
Button
Open the Game Selector screen
The replay screen is displayed by clicking on the REPLAY
button on the Dashboard header.
The purpose of the Replay feature is to give the user a manual way to send, or re-send, game create incidents to all of the BOS endpoints if for any reason they weren't correctly sent before.
Normally this feature shouldn't need to be used very often as a create incident is automatically sent every time a game is created. But there could be occasions when the application correctly records a game as being created but the information isn't recorded by the BOS nodes. If that happened then running a Replay will 'flush' all the games between the start and end dates and send create incidents to the BOS nodes a second time.
Important: The Replay feature can only be used for games that are not yet started. Once a game is started a new create incident would be ignored.
Sports and leagues can be selected individually using check-boxes, or all sports and leagues can be selected or de-selected using the Select All checkbox/toggle.
The range of data to be replayed will be set from the Start and End fields.
Captions
Inputs
Actions
Validation
Text/Image
Type
Comments
Data Replay
Static
Select All
Static
[sport]
Dynamic
All sport name in the sport
table
[league]
Dynamic
All league names associated with the selected sport taken from the leagues
table
[sport icon]
Dynamic
Applicable sport icon in the sport
table
[league icon]
Dynamic
Applicable league icon in the leagues
table
Start:
Static
End:
Static
Name
Type
Constraints
Select All
Checkbox
[sport]
Checkbox
[league]
Checkbox
Start
List
Valid date from list
End
List
Valid date from list
Caption
Type
Action
REPLAY ⤵
Button
Start the Replay
X
Image
Close the screen.
Exception
Error Message
No start date
Start date not entered
No end date
End data not entered
End date before start date
End date is before the Start date
The leagues tab runs vertically down the left side of the dashboard and displays one tab for each league that is configured for the selected sport. The tabs are dynamic and configured through the MySql database Leagues
table.
The order the leagues tabs are displayed in is defined by their id
value in the Leagues
table.
There is no limit on the number of sports tabs that can be created. If the tabs reach the vertical limit of the application then they will stack in to multiple columns. Realistically there should never be so many leagues enabled at any one time to cause the tabs to be stacked.
Important: The leagues tabs must be 100% configurable through the database only. Leagues must be added or removed without any code changes.
Clicking on any unselected tab will change the calendar display to show only events for the selected sport and league.
Text
Type
Comments
[league name]
Dynamic
Value set in Leagues
table.
[icon]
Dynamic
Path and name defined in the icon
column of the Leagues
table.
The icon itself must exist in the corresponding asset/imgs/leagues
folder in the application.
Caption
Type
Action
[League]
Text
Change calendar to the selected league of the selected sport.