# TrainHub 🏋️‍♂️ **TrainHub** to zaawansowany asystent treningowy, wspierany przez lokalną sztuczną inteligencję. Aplikacja łączy planowanie treningów, monitorowanie parametrów medycznych oraz analizę postawy w czasie rzeczywistym. Zbudowany przy użyciu **Tauri 2.0**, **Vue 3**, **TypeScript** oraz **Rust**. ## 🚀 Kluczowe Funkcje * **AI Coach & Chat**: Inteligentny asystent treningowy, który odpowiada na pytania dotyczące ćwiczeń i zdrowia (wykorzystuje Local LLM). * **Posture Analysis**: Analiza poprawności wykonywania ćwiczeń i postawy ciała w czasie rzeczywistym przy użyciu wizji komputerowej (moduł `posture/`). * **Smart Workout Tracking**: Zarządzanie planami treningowymi, śledzenie postępów i historia ćwiczeń (baza SQLite). * **Medical Metrics**: Monitorowanie parametrów zdrowotnych i statystyk witalnych. ## 🛠️ Wymagania Wstępne 1. **Node.js** (v18+) 2. **Rust** (najnowsza wersja stabilna) 3. **Build Tools for Visual Studio** (wymagane dla kompilacji C++/Rust na Windows). 4. **Karta graficzna NVIDIA** (Zalecane dla modułu analizy postawy i płynnego czatu). ## ⚙️ Instalacja i Uruchomienie 1. **Sklonuj repozytorium:** ```bash git clone https://git.kciolek.pl/kamici/TrainHub.git cd trainhub ``` 2. **Zainstaluj zależności:** ```bash npm install ``` 3. **Uruchom tryb deweloperski:** ```bash npm run tauri dev ``` --- ## 🤖 Konfiguracja AI (Instalacja Manualna) ⚠️ **WAŻNE:** Aby moduły **AI Coach** oraz **Posture Analysis** działały, musisz ręcznie pobrać silnik wykonawczy `llama.cpp`. W obecnej fazie rozwoju (Alpha) te pliki nie są pobierane automatycznie. ### Krok 1: Pobierz wymagane pliki Pobierz poniższe archiwa `.zip` (wersja `b7907`, CUDA 12.4): 1. 📥 **Pliki wykonywalne (Binaries):** [llama-b7907-bin-win-cuda-12.4-x64.zip](https://github.com/ggml-org/llama.cpp/releases/download/b7907/llama-b7907-bin-win-cuda-12.4-x64.zip) 2. 📥 **Biblioteki CUDA (Backend):** [cudart-llama-bin-win-cuda-12.4-x64.zip](https://github.com/ggml-org/llama.cpp/releases/download/b7907/cudart-llama-bin-win-cuda-12.4-x64.zip) ### Krok 2: Instalacja plików 1. W folderze aplikacji znajdź katalog `src-tauri`. 2. Wypakuj zawartość **obu** pobranych archiwów do tego katalogu. 3. Upewnij się, że plik `llama-server.exe` oraz biblioteki DLL znajdują się w jednym miejscu. --- ## 🏗️ Struktura Projektu * `src/app/` - Główna logika Frontend (Vue 3) * `components/chat/` - Interfejs czatu z trenerem AI. * `components/posture/` - Komponenty wizualizacji i analizy postawy (Canvas). * `composables/` - Logika biznesowa (np. `useAnalysis.ts`, `useActiveWorkout.ts`). * `src-tauri/` - Backend (Rust) * `src/db.rs` - Obsługa bazy danych SQLite (zapisywanie treningów). * `src/main.rs` - Punkt wejścia aplikacji i rejestracja komend. ## 📄 Licencja Ten projekt jest udostępniony na licencji **Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)**. Możesz używać i modyfikować kod do celów prywatnych i edukacyjnych. Użycie komercyjne (sprzedaż aplikacji lub usług na niej opartych) jest zabronione bez zgody autora. Pełny tekst licencji: [https://creativecommons.org/licenses/by-nc-sa/4.0/](https://creativecommons.org/licenses/by-nc-sa/4.0/)