OpenAthlete
AGPLv3 endurance training platform: EU-oriented hosting, transparent CTL/ATL/TSB logic in code, self-hosting, and full export. Built in Grenoble.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證골프팀짜기
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗골프 모임 "먹회골프" 인원을 게임처럼 팀 편성하고, 라운딩 기록(스코어·사진)을 누적 보관하는 웹앱입니다.
supabase/schema.sql — 테이블 생성supabase/seed.sql — 고정 멤버 11명 등록 (배우자 관계 포함)supabase/storage.sql — 사진 업로드용 공개 버킷 생성seed.sql 맨 아래 주석 처리된 update 문을 참고해서 SQL Editor에서
실행하세요.Project URL 과 service_role 키(secret)를 복사합니다.
service_role 키는 절대 클라이언트(브라우저)에 노출되지 않고, 서버 코드에서만
사용됩니다(Server Components / Server Actions)..env.example 을 복사해 .env.local 을 만들고 값을 채워주세요.
cp .env.example .env.local
NEXT_PUBLIC_SUPABASE_URL=발급받은 Project URL
SUPABASE_SERVICE_ROLE_KEY=발급받은 service_role 키
SUPABASE_PHOTO_BUCKET=round-photos
npm install
npm run dev
http://localhost:3000 에서 확인합니다.
/admin): 라운딩 생성, 라운딩 목록, 게스트 추가, 실력 순위(skill_rank)
조정, 관리자 권한 부여/rounds/[id]): 상태별(모집중 → 마감 → 팀확정 → 진행중 → 완료) 화면 전환,
참가 체크, 팀 편성 모드 선택(완전랜덤 / 부부한팀 / 부부갈라놓기 / 남녀균등 / 실력균등),
다시 팀짜기, 팀 결과, 스코어/사진/rounds/[id]/draw): 이름을 눌러 골프공을 뽑는 인터랙션으로 팀 결과를
하나씩 공개/rounds/[id]/score): 팀별/개인별 타수 입력 + 사진 업로드 →
라운딩을 "완료" 상태로 전환/memories): 완료된 라운딩을 시간순 카드 피드로 조회/me): 개인 참여 횟수, 평균 타수, 최고 기록, 역대 라운딩supabase/schema.sql 참고: members, rounds, round_participants,
team_assignments(재편성 이력 포함), round_scores, round_results 6개 테이블로
구성됩니다.
members.character_url 필드가 이미 열려 있어서, 추후 AI로 생성한 캐릭터 이미지를
연결해도 다른 테이블 변경 없이 확장할 수 있습니다.is_guest = true 로 members 테이블에 저장되므로, 자주 오는 게스트를
재사용할 수 있습니다.