Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jayagra/beartracks
FRC Scouting application
https://github.com/jayagra/beartracks
frc frc-scouting scouting
Last synced: 2 months ago
JSON representation
FRC Scouting application
- Host: GitHub
- URL: https://github.com/jayagra/beartracks
- Owner: JayAgra
- License: mit
- Created: 2022-03-15T16:02:33.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-06T06:22:15.000Z (9 months ago)
- Last Synced: 2024-10-10T03:02:55.546Z (2 months ago)
- Topics: frc, frc-scouting, scouting
- Language: Swift
- Homepage:
- Size: 60.2 MB
- Stars: 16
- Watchers: 7
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# bearTracks
a webapp for frc scouting
![GitHub](https://img.shields.io/github/license/JayAgra/bearTracks) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/jayagra/bearTracks) ![GitHub last commit](https://img.shields.io/github/last-commit/jayagra/bearTracks)## setup
### script
set up bearTracks using the simple shell script.
```sh
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)
```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 `` with your domain, and run this with port 80 free.
```sh
# new certificate. run commands from ~/bearTracks
certbot certonly --standalone --keep-until-expiring --agree-tos -d ""
cp /etc/letsencrypt/live//cert.pem ssl/cert.pem
cp /etc/letsencrypt/live//privkey.pem ssl/key.pem
# renew certificate. run from ~/bearTracks
certbot renew
cp /etc/letsencrypt/live//cert.pem ssl/cert.pem
cp /etc/letsencrypt/live//privkey.pem ssl/key.pem
```
### running server
To start the server from a ssh session, run the following command from the ~/bearTracks directory.
```sh
nohup ./bear_tracks &
```
you may now exit the ssh session.
To stop bearTracks, run
```sh
./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](https://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](https://apps.apple.com/app/beartracks-data/id6475752596)
[Data macOS](https://apps.apple.com/app/beartracks-data/id6475752596)
[Scout iOS](https://apps.apple.com/app/beartracks-scout/id6476092907)
[Manage Xcode](https://github.com/JayAgra/bearTracks/tree/main/ios/beartracks-manage)