Dominik Klarkowski bf8624c954 init
2026-06-18 12:23:05 +02:00
2026-06-18 11:02:31 +02:00
2026-06-18 12:23:05 +02:00
2026-06-18 12:23:05 +02:00
2026-06-18 11:12:12 +02:00
2026-06-16 09:43:48 +02:00
2026-06-18 11:02:31 +02:00
2026-06-16 09:43:48 +02:00
2026-06-16 09:43:48 +02:00
2026-06-15 13:04:53 +02:00
2026-06-18 11:02:31 +02:00
2026-06-16 11:11:19 +02:00
2026-06-16 09:43:48 +02:00
2026-06-16 09:43:48 +02:00
2026-06-18 11:02:31 +02:00
2026-06-18 11:02:31 +02:00
2026-06-18 11:02:31 +02:00
2026-06-16 09:43:48 +02:00

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:

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

nvm use 22
pnpm install
pnpm dev

Otwórz 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.
Description
No description provided
Readme 276 KiB
Languages
TypeScript 99%
CSS 0.6%
JavaScript 0.4%