MMA LiveSim
DraftKings용 무료 UFC DFS 최적화와 MMA 전투 시뮬레이터, 실시간 승률·전후 기대값·소유율·최적 라인업 제공
FitGlue가 피트니스 앱을 연결해 데이터를 멋지게 보여줍니다 자동으로 Strava 등과 동기화
FitGlue connects your fitness apps and makes your data look amazing everywhere. AI descriptions, heart rate data, muscle heatmaps—synced automatically to Strava, Showcase, and more.
스포츠·피트니스Go · HCLGitHub @Ripixel-Studio온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기FitGlue is a serverless fitness data aggregation and routing platform built on Google Cloud Platform. It ingests workout data from multiple sources (Hevy, Keiser, Fitbit), enriches it with standardized formats (FIT files), and routes it to connected services like Strava.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗FitGlue is a fitness data aggregation and routing platform built on Google Cloud Platform. It ingests workout data from multiple sources (Hevy, Fitbit, Strava, Intervals.icu, GitHub, parkrun), enriches it through configurable pipelines, and routes it to connected services.
FitGlue uses a domain-service architecture: 11 Go Cloud Run services communicating via gRPC, with a thin API gateway layer for HTTP clients.
┌─────────────────┐ ┌──────────────────────┐
│ Data Sources │─────▶│ service.api.webhook │
│ (Hevy/Strava/ │ │ (HMAC / OAuth auth) │
│ Fitbit / etc.) │ └──────────┬────────────┘
└─────────────────┘ │ Pub/Sub
▼
┌──────────────────────┐
│ service.pipeline │
│ (enrich, split, │
│ route) │
└──────────┬────────────┘
│ Pub/Sub
▼
┌──────────────────────┐
│ service.destination │
│ (upload to Strava, │
│ TrainingPeaks, etc.)│
└──────────────────────┘
API gateways sit in front for HTTP clients:
service.api.client — the owner's tools: Jarvis, fitgluectl, fitglue-mcp (static bearer token, see Security)service.api.public — Unauthenticated (showcase)Domain services own their Firestore data and expose gRPC interfaces:
service.user, service.pipeline, service.activityWorker services consume Pub/Sub topics:
service.destination — uploads to Strava, TrainingPeaks, Fitbit, etc.See Architecture Overview for the full system diagram.
| Component | Technology |
|---|---|
| Language | Go 1.25+ |
| Compute | Cloud Run (Docker containers) |
| Messaging | Cloud Pub/Sub |
| Database | Cloud Firestore |
| Storage | Cloud Storage (FIT files, GCS payloads) |
| Inter-service | gRPC (protobuf) |
| CI/CD | GitHub Actions on PRs; CircleCI deploy on main until F4 (see CI/CD) |
| Infrastructure | Terraform |
| Observability | structured slog; Sentry optional via a single SENTRY_DSN |
protoc (Protocol Buffers compiler)# Install Go dependencies and generate proto stubs
make setup
make generate
# Build all services
make build
# Run unit tests
make test
# Start local development stack (all 11 services)
make local
See Local Development for detailed instructions.
fitglue-server/
├── src/
│ ├── go/ # Go monorepo
│ │ ├── services/ # 11 Cloud Run services (main.go per service)
│ │ ├── internal/ # Domain logic (owned by services)
│ │ ├── pkg/ # Shared packages (proto stubs, integrations)
│ │ ├── cmd/ # CLI tools (fit-gen, fit-inspect)
│ │ └── tests/e2e/ # Cucumber/godog E2E tests
│ └── proto/ # Protocol Buffer definitions
├── terraform/ # Infrastructure as Code
├── docs/ # Documentation
│ ├── api/ # OpenAPI spec (auto-generated)
│ ├── architecture/ # Architecture guides
│ ├── decisions/ # ADRs + history
│ ├── development/ # Dev guides
│ ├── guides/ # How-to guides
│ ├── infrastructure/ # CI/CD, Terraform
│ └── reference/ # Errors
├── scripts/ # Dev and CI scripts
└── Makefile # Build, test, generate, deploy commands
fitgluectl connect / connections, per-provider webhook notesmain deploy that F4 retiresThis is a personal project, but suggestions and feedback are welcome via issues.
MIT