BikeControl (SwiftControl)
使用 Zwift Click、Zwift Play、Shimano Di2,或任何藍牙控制器搭配 MyWhoosh、Rouvy、Zwift 等。可於 iOS、Android、Windows 與 macOS 免費試用。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
チェンナイのピックルボールサークル運営アプリ。認証なし・モバイルファースト。 このリポジトリは仕様書 pickleball-app-spec.md の Phase 1 を実装したものです。檢視完整 README ↗
チェンナイのピックルボールサークル運営アプリ。認証なし・モバイルファースト。
このリポジトリは仕様書 pickleball-app-spec.md の Phase 1 を実装したものです。
7-5-2 形式、開始は 0-0-2)wa.me でワンタップ共有 or コピーPhase 2 のコート機能を使うには、
supabase/phase2-courts.sqlの実行が必要です(下記セットアップ参照)。
Phase 3 を使うには
supabase/phase3-tournaments.sqlの実行が必要です。
manifest.webmanifest + アプリアイコン + Service Worker。スマホで「ホーム画面に追加」でき、一度開けばオフラインでも起動(スコアボードはオフライン利用可)/api/ping を叩き、約1週間アクセスがないと停止する無料枠を起こしておく(追加設定不要・vercel.json)Web Push 通知は VAPID 鍵・配信基盤が必要なため未実装(告知は WhatsApp 連携でカバー)。必要になれば追加します。
npm install
supabase/schema.sql の内容を貼り付けて Run
supabase/phase2-courts.sql も Run(コート関連テーブル・評価項目・写真用Storageバケットを作成)supabase/phase3-tournaments.sql も Run(大会・エントリー・組み合わせテーブルを作成)supabase/phase4-payments.sql も Run(コート使用費の割り勘・UPIコード用のカラムとStorageバケットを作成)supabase/phase5-team-league.sql も Run(団体戦: チーム対抗リーグ用のカラムを作成)Project URLanon public キー.env.local.example を .env.local にコピーして値を埋めます。
cp .env.local.example .env.local
NEXT_PUBLIC_SUPABASE_URL=https://xxxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOi...
NEXT_PUBLIC_APP_URL=http://localhost:3000
未設定でもアプリは起動しますが、上部に警告バーが出てデータ保存はできません (スコアボードのその場利用のみ可能)。
npm run dev
http://localhost:3000 を開く → 初回は表示名を登録して開始。
npm run build && npm start
NEXT_PUBLIC_SUPABASE_URL / NEXT_PUBLIC_SUPABASE_ANON_KEY / NEXT_PUBLIC_APP_URL(本番URL)を設定運用上の注意: 認証なし方式のため、アプリのURLは非公開でメンバーにのみ共有してください(仕様書 3.2)。 Supabase 無料枠は1週間アクセスがないと一時停止するため、週1回以上の利用があれば問題ありません。
src/
├─ app/
│ ├─ layout.tsx ルートレイアウト(ナビ・メンバーゲート)
│ ├─ page.tsx ホーム(次回活動日 + 出欠 + 最近の試合)
│ ├─ actions.ts Server Actions(作成・更新・出欠・保存)
│ ├─ schedule/ 予定一覧(リスト/カレンダー)
│ ├─ events/[id]/ 活動日詳細・編集
│ ├─ events/new/ 活動日作成
│ ├─ scoreboard/ スコアボード設定 → /play で全画面
│ ├─ more/ メンバー一覧・プロフィール
│ └─ tournaments/ 大会(Phase 3 プレースホルダ)
├─ components/ UIコンポーネント
└─ lib/
├─ scoring.ts サイドアウト式スコアリングのエンジン
├─ whatsapp.ts 告知/参加者リストのテキスト生成
├─ data.ts サーバー側の読み取りクエリ
├─ format.ts 日付・時刻フォーマット
├─ types.ts ドメイン型
└─ supabase/ Supabaseクライアント(server/browser)
supabase/schema.sql DBスキーマ(SQL Editor で実行)
pickleball-app-handoff/ デザインモック(実装の見た目基準)
src/lib/scoring.ts に純粋関数として実装。サイドアウト式(伝統ルール):
0-0-2(サーバー#2)から