OpenAthlete
AGPLv3 기반 지구력 훈련 플랫폼—EU 호스팅, 투명한 로직, 자체 호스팅·전체 내보내기 지원
중앙유럽의 도로·자갈·MTB·사이클로크로스·어린이 레이스를 한 지도에 모아 시즌을 직접 계획
Road, gravel, MTB, cyclocross and kids' races across Central Europe. Plan the season for yourself, your family or your team.
스포츠·피트니스TypeScript · HTMLGitHub @tobolka온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Map-first cycling race finder for Central Europe
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Map-first cycling race finder for kids and adults across Central Europe (CZ, DE, AT, SK, PL, IT, FR). Road, gravel, XC, XCM, and more — not just mountain bike.
• Next.js (App Router) + TypeScript
• Supabase (Postgres + PostGIS)
• MapLibre GL + OpenFreeMap
• Watcher with layered extraction (JSON-LD → host adapters → generic)
• Admin for sources, discovery queue, manual event create/edit with field locksREADME 전문 보기 ↗Map-first cycling race finder for kids and adults across Central Europe (CZ, DE, AT, SK, PL, IT, FR). Road, gravel, XC, XCM, and more — not just mountain bike.
public/maps/light-v1).env.example → .env.local (a working .env.local is already prepared for the letsrace Supabase project).ADMIN_PASSWORD and ADMIN_SESSION_SECRET (both required — no defaults).SUPABASE_SERVICE_ROLE_KEY from Supabase → Project Settings → API.npm install
npm run dev
/api/cron/watch twice daily (05:00 & 17:00 UTC)GET/POST /api/cron/watch with Authorization: Bearer $CRON_SECRET
Polls due watched_urls, hashes content, extracts events, discovers child links, respects locked overrides. Cron runs twice daily (05:00 and 17:00 UTC) on the Hobby plan.
en (default), cs, pl, sk — race names stay in the original language.