Minimal proof of concept cross platform network tables client
- Make debugging complex robot code easier (Programmers best friend)
- Low memory footprint
- support large amounts of frequently changing data
- Cleaner apis for robot code driven layouts
- Robust graphing/charting of timeseries data with export capability
- recording/playback of timeseries data
- Support all features of Shuffleboard
- Support camera streams
- Features needed for competitions
BionicDash is built using the Wails framework which provides APIs to make working with native webviews easier and backend to frontend data synchronization easier. The frontend is written in javascript using the Svelte framework.
To do development on BionicDash a number of dependencies must be installed:
-
Golang
- Recommend go 1.16 or greater (Debian repos have 1.13 which is starting to get old) Download from https://golang.org/dl/
-
Wails
go install github.com/wailsapp/wails/v2/cmd/wails@latest
- See: https://wails.io/docs/gettingstarted/installation
-
Node/NPM
- NodeJs v14
To build a redistributable, production mode package, use wails build
.
https://wails.io/docs/reference/cli#build
Go code should be run through go fmt
Shell scripts should pass shellcheck
without errors
Code should pass the default suite of linters from golangci-lint.
The Github Actions CI is automatically running the linter. @todo
Directions here to install the linter locally.
$ golangci-lint
run can be used to run the linter locally.