🕵️ Web App for FRC Competition Scouting.
This is the easiest way to run the server on a Windows machine.
- Install MongoDB.
- Download the latest release.
- Run
SharkScout.exe
.
This is the easiest way to run the server on a non-Windows machine.
- Install Docker.
- Install Docker Compose.
- Build and run the containers.
This requires an internet connection and only needs to be done when the source has changed.
Run docker-compose
:
docker-compose up --build --no-start
Run docker-compose
:
docker-compose up
Note: it is recommended that the server be run using one of the above out-of-the-box solutions.
-
Install MongoDB.
-
Install Python 3.
-
Windows users: ensure Python 3 (
%LOCALAPPDATA%\Programs\Python\*
and%LOCALAPPDATA%\Programs\Python\*\Scripts
) and MongoDB (%PROGRAMFILES%\MongoDB\Server\*\bin
) are in yourPATH
variable. -
Run
setup.py
:python3 setup.py install
-
Configure your TBA Read API Key in
config.json
.
Run SharkScout.py
:
python3 SharkScout.py
Run build.bat
.
SharkScout is intended to be used offline and therefore needs to pull a lot of information from The Blue Alliance. It is possible to trigger updates from the web interface but command-line arguments have been provided for batch updates, some examples are below.
To see a full list of command-line arguments execute:
python3 SharkScout.py -h
To update team information only:
python3 SharkScout.py -ut
To update the event listings for all years:
python3 SharkScout.py -ue 1992-2018
To update detailed event information for this year:
python3 SharkScout.py -ue 2018 -uei 2018
In order to be a responsible user of The Blue Alliance's API it is recommended that you only update as little and as infrequently as needed.
The easiest setup is to run the server remotely and use cell phones to access it. This can be challenging, though, because competition venues are notorious for poor cell signal.
An alternative to running the server remotely is to run it locally on a laptop at the competition. Because WiFi access points are banned there are some options for this:
- Run the server and use a network switch with all wired connections to other computers or mobile devices (with OTG ethernet adapters).
- Run the server on a Linux machine and use panr to create a Bluetooth PAN network.
- Run the server on a Windows machine and bridge a connection to a Linux device connected with ethernet, and run panr on the Linux device with the
-nd
flag to create a Bluetooth PAN network.
It is recommended that you make regular backups on multiple drives while SharkScout
is running. Losing all of your scouting data due to corruption or general failure during a competition would be a disaster. Here is a basic mongodump
command:
mongodump /out C:/mongodump-sharkscout /gzip