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
- Node.js (v18+)
- Rust (najnowsza wersja stabilna)
- Build Tools for Visual Studio (wymagane dla kompilacji C++/Rust na Windows).
- Karta graficzna NVIDIA (Zalecane dla modułu analizy postawy i płynnego czatu).
⚙️ Instalacja i Uruchomienie
- Sklonuj repozytorium:
git clone https://git.kciolek.pl/kamici/TrainHub.git
cd trainhub
- Zainstaluj zależności:
npm install
- Uruchom tryb deweloperski:
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):
- 📥 Pliki wykonywalne (Binaries): llama-b7907-bin-win-cuda-12.4-x64.zip
- 📥 Biblioteki CUDA (Backend): cudart-llama-bin-win-cuda-12.4-x64.zip
Krok 2: Instalacja plików
- W folderze aplikacji znajdź katalog
src-tauri. - Wypakuj zawartość obu pobranych archiwów do tego katalogu.
- Upewnij się, że plik
llama-server.exeoraz 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/