44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
# Fitness Antigravity
|
|
|
|
Your personal fitness coach powered by Gemini CLI, Garmin Connect, and Withings.
|
|
|
|
## Features
|
|
- **Data Sync**: Sync your Garmin workouts and Withings weightings locally.
|
|
- **Visualization**: Beautiful Vue JS frontend to track your progress.
|
|
- **Strength Training**: Create custom Garmin strength workouts locally.
|
|
- **Gemini Recommendations**: Get AI-driven training advice for endurance and strength.
|
|
- **100% Test Coverage**: Robust Python backend with full unit test coverage.
|
|
|
|
## Project Structure
|
|
- `backend/`: Python source code and unit tests.
|
|
- `frontend/`: Vue JS web application.
|
|
- `data/local/`: Local storage for synced fitness data.
|
|
- `docs/`: Detailed documentation and setup guides.
|
|
|
|
## Setup Instructions
|
|
|
|
### Quick Start (FitMop)
|
|
The easiest way to run the entire project is using the **FitMop** orchestrator:
|
|
1. Run `bash fitmop.sh`.
|
|
2. Open `http://localhost:5173` in your browser.
|
|
3. Enter your Garmin credentials in the UI. They will be stored securely in `.env_garmin`.
|
|
|
|
### Manual Backend Setup
|
|
1. Navigate to `backend/`.
|
|
2. Install `uv` if you haven't: `brew install uv`.
|
|
3. Install dependencies: `uv sync`.
|
|
|
|
### Frontend
|
|
1. Navigate to `frontend/`.
|
|
2. Install dependencies: `npm install`.
|
|
3. Start the dev server: `npm run dev`.
|
|
|
|
## Usage
|
|
- Run sync scripts manually to update local data.
|
|
- Use the CLI/TUI in `backend/` to create workouts and get recommendations.
|
|
|
|
## Documentation
|
|
- [Garmin Login Setup](docs/garmin_login.md)
|
|
- [Withings Integration](docs/withings_login.md)
|
|
- [User Manual](docs/user_manual.md)
|