Skip to content

The backend/server software for FRC team 1816's scouting app, GreenScout

Notifications You must be signed in to change notification settings

TheGreenMachine/GreenScout-Backend

Repository files navigation

GreenScout-Backend

The backend/server software for FRC team 1816's scouting app, GreenScout

IMPORTANT: IT'S FINE THAT SERVER.CRT AND SERVER.KEY ARE PUBLIC. THEY ARE ONLY USED FOR MOCKING HTTPS ON LOCALHOST FOR TESTING

Getting Started

It's expected that you at least know basic programming principles and practices. Additionally, knowing the Go Programming Language will be neccessary when contributing to this CLI.

To get started, you'll first need the Go Programming Language, Git, and VS Code (Optional).

Additional dependencies include Sqlite 3, The Python programming language, and pip

Once you have all that installed, open up your terminal and enter this command

git clone https://github.com/TheGreenMachine/GreenScout-Backend.git

This will download the repository onto your computer and to move into it type this

cd GreenScout-Backend

Then, download all of the dependencies of this project with

go get

Then, to run through the setup, run

go run main.go setup

For a thoughrough breakdown of the setup process, go here

Once you've finished that, you can run the server in production.

If you're on a mac or linux machine, ports 80 and 443 are bound to the root only, so you have to run this with sudo

sudo go run main.go prod

If you're running for testing (hosting only on localhost)

sudo go run main.go test

If you want it to write the match numbers of the configured event to the spreadsheet first

sudo go run main.go prod matches

If you are using VS Code, I highly recommend installing the Golang Extension.

Any additional documentation can be found here. Most documentation can be found in the exhaustively-annotated functions in this project, however.

Important setup information

  • You will need to know how to port forward in order to ping the server from external networks.
  • You will need a valid domain name, as I could not find a way to get ACME autocert to work without it.

Roadmap (Things for future developers to add)

  • Admin Features

    • Removing assigned matches from users. (Mutable schedules - talk to Lydia for specifics of what she wants)
  • Discrepencies for multi-scouting - the only one that is implemented right now is average times being too different

  • Greenlogger improvement

    • Having the errors also spit out the line of code/method/stacktrace they came from

Contributers

About

The backend/server software for FRC team 1816's scouting app, GreenScout

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published