Futbol Veritabanı
8대 리그 클럽·선수·통계—Transfermarkt 데이터
iPhone·Safari에 최적화된 개인 헬스 트래커로 분할 계획·오프라인 세션·스트레칭·훈련 일지를 관리
Personal gym workout tracker, split planner, offline-first session execution, stretching routines, and training diary optimized for iPhone & Safari.
스포츠·피트니스TypeScript · SwiftGitHub @tuke307온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기personal gym trainer
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Offline-first gym workout tracker, progressive overload engine, and stretching studio for Web (PWA), iPhone (iOS 18+), and Apple Watch (watchOS 11+).
IndexedDB) or Apple devices (LukiFittiStore).+2.5 kg, +1 rep) with Apple Watch Heart Rate Recovery fatigue detection.HKWorkoutSession), 1 Hz optical heart rate curves, active/total calorie tracking, per-set peak & recovery BPM, and iOS 18 Dynamic Island Live Activities.EN / DE): Full English and German interface and exercise search aliases.luki-fitti/
├── apps/
│ ├── web/ # Next.js 16 + React 19 + Tailwind CSS v4 PWA
│ ├── api/ # NestJS 12 REST API (Express 5, Swagger, Cookie + Bearer Auth)
│ ├── email-worker/ # BullMQ transactional email worker (MJML templates)
│ └── apple/ # Native Swift 6 workspace (iOS 18, watchOS 11, WidgetKit)
└── packages/
├── common/ # Shared Zod schemas, DTOs, enums, starter catalog & 1RM math
├── database/ # Prisma 7 PostgreSQL schema, migrations & seed script
├── ui/ # Shared Radix UI / shadcn-style accessible components
└── logger/ # Structured Winston logger
>= 22 and Yarn 1.22+apps/apple)Copy the sample environment files in packages/database, apps/api, and apps/web to .env.local:
cp packages/database/.env.sample packages/database/.env.local
cp apps/api/.env.sample apps/api/.env.local
cp apps/web/.env.sample apps/web/.env.local
| Variable | Workspace | Description |
|---|---|---|
DATABASE_URL | database, api | PostgreSQL connection URL |
REDIS_URL | api, email-worker | Redis URL for BullMQ and access-token revocation |
JWT_SECRET | api, web | Access token signing secret (>= 32 chars in production) |
JWT_REFRESH_SECRET | api | Refresh token signing secret (>= 32 chars in production) |
FRONTEND_URL | api | Allowed CORS origin (default http://localhost:3000) |
API_PORT | api, web | Backend port (default 3001) |
UMAMI_URL | api | Self-hosted Umami base URL (default https://umami.tony-luke.de) |
UMAMI_WEBSITE_ID | api | Umami website ID; pageview forwarding is off when unset or outside production |
UMAMI_ALLOWED_HOSTNAMES | api | Comma-separated hostnames to forward pageviews for (default luki-fitti.tony-luke.de) |
yarn install
yarn db:generate
yarn db:deploy
yarn db:seed
# Start development servers
yarn dev
| Command | Description |
|---|---|
yarn dev | Start development servers across workspaces |
yarn build | Build all packages and applications |
yarn test | Run unit and integration tests (api, web, and Swift LukiFittiKit) |
yarn lint | Run TypeScript and ESLint checks |
yarn db:migrate -- <name> | Create and apply a new Prisma migration |
yarn --cwd apps/api openapi:export | Export Swagger OpenAPI spec to apps/apple |
apps/apple)The native iOS 18, watchOS 11, and Dynamic Island Widget targets share business logic via the LukiFittiKit Swift Package (apps/apple/Packages/LukiFittiKit).
# Run Swift package unit tests
swift test --package-path apps/apple/Packages/LukiFittiKit
# Generate LukiFitti.xcodeproj via XcodeGen and open in Xcode
cd apps/apple && xcodegen generate && open LukiFitti.xcodeproj
# Pair Apple Watch & iPhone Simulators for WatchConnectivity sync
xcrun simctl pair <WATCH_SIM_UDID> <IPHONE_SIM_UDID>
Config/Debug.xcconfig defaults to http://localhost:3001 and Config/Release.xcconfig defaults to https://luki-fitti.tony-luke.de. You can override the API URL in Xcode under Edit Scheme (⌘<) → Run → Environment Variables → LUKIFITTI_API_BASE_URL.