A workout log that you can access over wifi from your home gym. It includes an HTTP server with an embedded web app and an embedded database:
- backend is implemented in Go
- database is BadgerDB
- front end is implemented in VueJS using Quasar components
Home Gym requires authentication for access and supports multiple users. Users are authorized to access only their own data.
It's been tested in Chrome on a MacBook Pro and on an Android device.
- Run the build.sh script.
- Copy the binary from the
bin
folder to the computer that will run it. - On the host computer, create an environment variable named
HOMEGYM_DB_PATH
with the path to the directory where you want the database files to be stored. - Double-click the binary to run it. To stop it, press Ctrl+C.
flowchart LR
user((User))
db[(Database)]
dal[DAL]
auth[Authorizer]
wl[WorkoutLog]
api[" 🔒" REST API]
gw[ API Gateway]
wa[Web app]
user --> wa --> gw
gw -->|ID| auth --> dal --> db
api --> wa
auth -->|token|gw
gw -->|token|api --> wl --> dal