FitMop/README.md

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)