https://github.com/johansatge/fitbook
Gym tracker with Dropbox storage
https://github.com/johansatge/fitbook
dropbox gym javascript tracker workout
Last synced: 7 months ago
JSON representation
Gym tracker with Dropbox storage
- Host: GitHub
- URL: https://github.com/johansatge/fitbook
- Owner: johansatge
- License: mit
- Created: 2018-11-06T21:25:48.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-01-20T20:54:40.000Z (9 months ago)
- Last Synced: 2025-02-10T07:16:36.340Z (9 months ago)
- Topics: dropbox, gym, javascript, tracker, workout
- Language: JavaScript
- Homepage: https://fitbook.satge.me
- Size: 444 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
README

# Fitbook 🏅
Gym tracker with Dropbox storage.
* [Usage](#usage)
* [Local installation](#local-installation)
* [Adding workout types](#adding-workout-types)
* [Build and deployment](#build-and-deployment)
## Usage
- Navigate to https://fitbook.satge.me/
- Login with Dropbox
- _The app will ask for write permissions in the app folder_
- Save workouts on the go
- _Data will be saved in `Dropbox/Applications/fitbook/logs`_
## Local installation
```shell
# Make sure node 16 is installed
node -v
# Clone the project
git clone git@github.com:johansatge/fitbook.git
cd fitbook
# Install dependencies
npm install
# Create env file with a Dropbox API key (with "localhost:4000" as allowed URL)
echo "module.exports = { FITBOOK_DROPBOX_APP_KEY: 'xxx' }" > .env.js
# Run the local server (will rebuild app on changes)
npm run watch
# Navigate to http://localhost:4000/
```
## Adding workout types
Workout types are stored in `app/config/workouts.json`. Example:
```json
"rowing": {
"name": "Rowing machine",
"icon": "directions_boat",
"fields": [
"datetime",
"duration",
"distance"
],
"highlight": "distance"
}
```
Field types are stored in `app/config/fields.json`. Example:
```json
"distance": {
"name": "Distance",
"type": "number",
"unit": "km",
"icon": "map"
}
```
Available icons are visible in `app/icons` ([Material Symbols](https://fonts.google.com/icons)).
## Build and deployment
To test the build locally, run:
```shell
npm run build
```
Assets are built in `.dist`.
Deployment is handled by [Cloudflare Pages](https://pages.cloudflare.com/), when pushing updates on `master`.