2.1 KiB
2.1 KiB
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/: FastAPI service, Garmin integration, and Recommendation Engine.
- frontend/: Vue.js 3 Single Page Application.
- data/local/: Local JSON storage for privacy-first training data.
Documentation
- System Architecture - Essential reading for developers.
- Software Best Practices - Guidelines for linting, testing, and error handling.
- Garmin Setup - How to connect your account.
Setup Instructions
Quick Start
The easiest way to run the entire project is using the FitMop orchestrator:
- Run
bash fitmop.sh. - Open
http://localhost:5173in your browser. - 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.