Skip to content

JayAgra/bearTracks

Repository files navigation

bearTracks

a webapp for frc scouting

GitHub GitHub commit activity GitHub last commit

setup

script

set up bearTracks using the simple shell script.

curl -fSsl "https://raw.githubusercontent.com/JayAgra/bearTracks/main/setup.sh" | sudo sh

environment variables

FRC_API_KEY
MY_TEAM
HOSTNAME
TEAMS
EVENTS
SEASONS
  • FRC_API_KEY FRC API credentials, in base64. standard encoding (username:token), and omit the "Basic " occasionally prepended to the string. obtain a key: https://frc-events.firstinspires.org/services/API. (default: NONE)
  • MY_TEAM your team number (default: 766)
  • HOSTNAME your hostname (default: localhost)
  • TEAMS is a comma separated list of all teams registered to use this instance of the app
  • EVENTS is a comma separated list of all events the app should use
  • SEASONS is a comma separated list of all seasons this app has been used

ssl

A ssl certificate is required, and must be placed in the ssl directory, with filenames key.pem and cert.pem. For local testing, one can be self-signed using the following command (run from the bearTracks directory created by setup.sh)

openssl req -x509 -newkey rsa:4096 -nodes -keyout ./ssl/key.pem -out ./ssl/cert.pem -days 365 -subj '/CN=localhost'

For use on production, replace <DOMAIN> with your domain, and run this with port 80 free.

# new certificate. run commands from ~/bearTracks
certbot certonly --standalone --keep-until-expiring --agree-tos -d "<DOMAIN>"
cp /etc/letsencrypt/live/<DOMAIN>/cert.pem ssl/cert.pem
cp /etc/letsencrypt/live/<DOMAIN>/privkey.pem ssl/key.pem
# renew certificate. run from ~/bearTracks
certbot renew
cp /etc/letsencrypt/live/<DOMAIN>/cert.pem ssl/cert.pem
cp /etc/letsencrypt/live/<DOMAIN>/privkey.pem ssl/key.pem

running server

To start the server from a ssh session, run the following command from the ~/bearTracks directory.

nohup ./bear_tracks &

you may now exit the ssh session. To stop bearTracks, run

./service.sh stop

iOS & macOS apps

The clients are broken into 3 apps- Data, Scout, and Manage. Manage is intended for the server admins, and can only be installed by compiling it yourself. Scout and Data are available on the App Store. Data uses Mac Catalyst to provide an optimized macOS experience, while Scout runs the iPad version. Accounts may be created in-app or on beartracks.io/create.

Scout Data Manage
iOS 17
iOS 16, 15
macOS 14
macOS 13, 12
App Store
Web (PWA)

android users may use web

Data iOS
Data macOS
Scout iOS
Manage Xcode