Robot dashboard data needs to be retrieved by the front-end in its own sync thread.
During a tournament, internet access may be non-existent so sync processes need to fail safely (i.e. and sync in the background only)
Sync mini dashboard data for all robots at once
Consider caching robot response data on the server for 5 minutes.
New API endpoint
GET /api/report/mini-dashboard/{tournamentId}
- Returns pre-aggregated mini-dashboard data for all teams that appear in the match schedule for the given tournament, plus the owner team (configured via
raven-eye.team property).
- Accessible by roles:
DATASCOUT, EXPERTSCOUT, ADMIN, SUPERUSER.
- Response shape (one object per team):
{
"tournamentId": "2025oncmp2",
"ownerTeam": 1310,
"teams": [
{
"teamNumber": 1310,
"matchesTracked": 5,
"metrics": [
{ "id": "scoring", "label": "Scoring", "quartile": "top" },
{ "id": "auto", "label": "Auto", "quartile": "middle" },
{ "id": "endgame", "label": "Endgame", "quartile": "bottom" },
{ "id": "pickups", "label": "Pickups", "quartile": "top" }
]
},
{
"teamNumber": 9262,
"matchesTracked": 2,
"metrics": [
{ "id": "scoring", "label": "Scoring", "quartile": "top" },
{ "id": "auto", "label": "Auto", "quartile": "middle" },
{ "id": "endgame", "label": "Endgame", "quartile": "bottom" },
{ "id": "pickups", "label": "Pickups", "quartile": "top" }
]
},
...
]
}
quartile values: "top" (top 25%), "bottom" (bottom 25%), "middle" (middle 50%), or "none" (insufficient data — fewer than 2 matches tracked across all teams).
matchesTracked — the number of distinct matches in which at least one event was logged for this team in this tournament.
- The set of metrics and how they are calculated will change from season to season. Logic is created on RavenBrain and stored in a season-specific folder, similar to how FRC season-specific data is synchronized. See below for individual metrics.
Robot dashboard data needs to be retrieved by the front-end in its own sync thread.
During a tournament, internet access may be non-existent so sync processes need to fail safely (i.e. and sync in the background only)
Sync mini dashboard data for all robots at once
Consider caching robot response data on the server for 5 minutes.
New API endpoint
GET /api/report/mini-dashboard/{tournamentId}raven-eye.teamproperty).DATASCOUT,EXPERTSCOUT,ADMIN,SUPERUSER.{ "tournamentId": "2025oncmp2", "ownerTeam": 1310, "teams": [ { "teamNumber": 1310, "matchesTracked": 5, "metrics": [ { "id": "scoring", "label": "Scoring", "quartile": "top" }, { "id": "auto", "label": "Auto", "quartile": "middle" }, { "id": "endgame", "label": "Endgame", "quartile": "bottom" }, { "id": "pickups", "label": "Pickups", "quartile": "top" } ] }, { "teamNumber": 9262, "matchesTracked": 2, "metrics": [ { "id": "scoring", "label": "Scoring", "quartile": "top" }, { "id": "auto", "label": "Auto", "quartile": "middle" }, { "id": "endgame", "label": "Endgame", "quartile": "bottom" }, { "id": "pickups", "label": "Pickups", "quartile": "top" } ] }, ... ] }quartilevalues:"top"(top 25%),"bottom"(bottom 25%),"middle"(middle 50%), or"none"(insufficient data — fewer than 2 matches tracked across all teams).matchesTracked— the number of distinct matches in which at least one event was logged for this team in this tournament.