42 lines
1.6 KiB
Markdown
42 lines
1.6 KiB
Markdown
# Knur
|
|
|
|
Aplikacja do analizy treningów biegowych (Garmin Connect) i siłowych (import ze Strong), z analizą AI (Claude).
|
|
|
|
## Wymagania
|
|
|
|
- Node 22 (`nvm use 22`)
|
|
- pnpm
|
|
- MongoDB (lokalnie lub Atlas)
|
|
|
|
## Konfiguracja
|
|
|
|
Skopiuj `.env.local.example` do `.env.local` i wypełnij wartości:
|
|
|
|
```bash
|
|
cp .env.local.example .env.local
|
|
```
|
|
|
|
- `MONGODB_URI`, `MONGODB_DB` — połączenie z MongoDB (domyślnie `mongodb://localhost:27017`, baza `knur`).
|
|
- `GARMIN_EMAIL`, `GARMIN_PASSWORD` — dane logowania do Garmin Connect, używane do synchronizacji biegów (nieoficjalne API).
|
|
- `ANTHROPIC_API_KEY`, `ANTHROPIC_MODEL` — klucz API Claude i model używany do generowania analiz potreningowych (domyślnie `claude-sonnet-4-6`).
|
|
|
|
Status konfiguracji widoczny jest na stronie `/settings`.
|
|
|
|
## Uruchomienie
|
|
|
|
```bash
|
|
nvm use 22
|
|
pnpm install
|
|
pnpm dev
|
|
```
|
|
|
|
Otwórz [http://localhost:3000](http://localhost:3000).
|
|
|
|
## Funkcje
|
|
|
|
- **Panel** (`/`) — statystyki tygodniowe, ostatni bieg, ostatni trening siłowy, ostatnia analiza AI.
|
|
- **Bieganie** (`/running`) — lista biegów zsynchronizowanych z Garmin Connect (przycisk „Synchronizuj z Garmin”), szczegóły aktywności.
|
|
- **Siłownia** (`/strength`) — lista treningów, import (`/strength/import`) przez wklejenie tekstu z funkcji „Share workout” w aplikacji Strong, szczegóły treningu.
|
|
- **Analiza AI** — na stronach szczegółów biegu i treningu siłowego, przycisk „Generuj analizę” wywołuje Claude i zapisuje podsumowanie ze wskazówkami.
|
|
- **Ustawienia** (`/settings`) — status konfiguracji (MongoDB, Garmin, Claude) i ostatnia synchronizacja Garmin.
|