Introduction
The Multisport Game Tracker is a unique widget that has the capability to be used in different sports, it has been created with the idea of improving the deployment of new game trackers and sharing code between all of them. Also, it provides customers with ease to integrate multiple game trackers with the same widget.
This widget is meant to be easy to customize and supports multiple layouts based on the sports and customer requirements, all the logic is built thinking in agnostic components and easy to reuse on different widgets.
Technologies
Widget
The widget uses Material UI (styled components) and React 17 with Typescript.
The widget requests information from the data call following a polling frequency strategy and then the data call parses the front-end information and creates a new request to the data service, the polling frequency can be set up on the config file.
Data service
Repository: https://gitlab.betgenius.net/webdev/genius-sports-widgets/-/tree/master/products/gsm-game-trackers
The Data service is built with Node.js.
The data service requests the data to the source (Content Graph) and then transforms it to a response ready to be consumed by the frontend , that part of the transformation process can take data from different entities to join in a single response
Architecture diagram
/wiki/spaces/GSM/pages/1452343492
Integration Environments
Multisport Game Tracker provides two customer-facing environments to integrate with:
UAT (User Acceptance Testing) environment is used by consumers in the development phase of their integration process. It is also used for testing purposes. Typically new features would first appear on the UAT environment and would be propagated to the Production environment only after the quality and stability of the software version are additionally verified.
Production environment is where the live stable version of the software is available.