37 lines
2.1 KiB
Markdown
37 lines
2.1 KiB
Markdown
# Fitness Antigravity (FitMop)
|
|
|
|
Your personal fitness coach powered by **Google Gemini AI**, **Garmin Connect**, and **Withings**. FitMop provides a unified dashboard for analyzing activity trends, creating advanced Garmin workouts, and chatting with an AI coach that has direct access to your training data.
|
|
|
|
## Features
|
|
- **📊 AI-Driven Analytics**: Deep insights into your training history via the Gemini 2.0 Flash engine.
|
|
- **🔄 Garmin Sync**: Automated local synchronization of your Garmin activities and profile.
|
|
- **🏋️ Advanced Workout Builder**: Drag-and-drop visual editor for creating complex Garmin strength and endurance workouts.
|
|
- **🤖 AGENTIC AI Coach**: Chat with an AI that performs function calls to analyze your data and suggest improvements.
|
|
- **🛡️ Modern Standards**: 100% test pass rate, strict linting (Ruff/ESLint), and global error handling.
|
|
|
|
## Project Structure
|
|
- **[backend/](file:///Users/moritz/src/fitness_antigravity/backend/)**: FastAPI service, Garmin integration, and Recommendation Engine.
|
|
- **[frontend/](file:///Users/moritz/src/fitness_antigravity/frontend/)**: Vue.js 3 Single Page Application.
|
|
- **[data/local/](file:///Users/moritz/src/fitness_antigravity/backend/data/local/)**: Local JSON storage for privacy-first training data.
|
|
|
|
## Documentation
|
|
- **[System Architecture](file:///Users/moritz/src/fitness_antigravity/ARCHITECTURE.md)** - Essential reading for developers.
|
|
- **[Software Best Practices](file:///Users/moritz/src/fitness_antigravity/CONTRIBUTING.md)** - Guidelines for linting, testing, and error handling.
|
|
- **[Garmin Setup](file:///Users/moritz/src/fitness_antigravity/docs/garmin_login.md)** - How to connect your account.
|
|
|
|
## Setup Instructions
|
|
|
|
### Quick Start
|
|
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. Complete the setup guide on the dashboard.
|
|
|
|
### Commands
|
|
- **Lint Backend**: `cd backend && uv run ruff check . --fix`
|
|
- **Lint Frontend**: `cd frontend && npm run lint`
|
|
- **Run Tests**: `npm run test` (frontend) / `uv run pytest` (backend)
|
|
|
|
---
|
|
*Built with ❤️ for better fitness through data.*
|