Scoutradioz is a multi-year FRC scouting app developed by The Gearheads which runs on Amazon Web Services (AWS).
Initially created in 2018, Scoutradioz has continually evolved as a platform. Here is a list of some of the features Scoutradioz offers:
Please visit the wiki for documentation on how to use the app.
We use AWS Lambda, Express, MongoDB, and Node (LEMoN); as well as Pug, Atlas, S3, The Blue Alliance API, and many other libraries and packages.
This is the primary Lambda function that serves most user requests. The https://scoutradioz.com website runs on the Primary function.
This Lambda function handles two things:
(The latter was introduced after upload.scoutradioz.com was created, but both routes require image processing so we combined the two.)
Scoutradioz is subscribed to The Blue Alliance's Firehose, which provides the site with up-to-date information on every supported match and event. This Lambda function handles data provided by the Firehose, and sends push notifications to scouters who are assigned to an upcoming match & have notifications enabled.
NOTE: Originally, the helper packages were published on NPM with the prefix @firstteam102
- https://www.npmjs.com/org/firstteam102 - but to simplify the process of updating the code, they are no longer being published to NPM and instead are being linked internally. For example, in primary
's package.json
, "@firstteam102/scoutradioz-utilities": "1.0.2"
has been changed to "scoutradioz-utilities": "../scoutradioz-utilities/"
. Most of the @firstteam102
packages on NPM have been deprecated.
A package that contains our database manager / caching wrapper.
A package that contains helper functions needed across multiple packages, such as parsing match data, calculating metrics, and listing team images.
A small package that exposes a small handful of HTTP errors for use inside Express routes. We created this one instead of alternatives because it has no dependencies and only contains what we need.
ESLint plugin, to assist development, which enforces a title being provided any time a page is rendered.
We're translating Scoutradioz so FIRST teams and their members, friends, and family from all over the globe can use it in their preferred languages. Translation contributions can be submitted using Weblate.