BikeControl (SwiftControl)
使用 Zwift Click、Zwift Play、Shimano Di2 或任何藍牙控制器,搭配 MyWhoosh、Rouvy、Zwift 等。iOS、Android、Windows、macOS 均可免費試用。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证this is for organizers to know the available schedule and book a slot
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Spartans CC Bengaluru — Book a Slot
Fixture availability and booking management for Spartans Cricket Club, Bengaluru.
Public URL: To be updated - watch this space for more.
Tech stack: Next.js 14 · Supabase · NextAuth (Google OAuth) · Tailwind CSS · Vercel
Scheduling rules enforced automatically
• R1 Max 3 games per weekend across the club
• R2 One game per captain per weekend
• R3 Max 2 games per tournament per calendar month
• R4 No two bookings on the same date + time slot
• R5 T20 at 10:30 conflicts with T30 slots (07:30 and 12:30) on the same day
Step 1 — Create a Supabase project查看完整 README ↗Fixture availability and booking management for Spartans Cricket Club, Bengaluru.
Public URL: To be updated - watch this space for more.
Tech stack: Next.js 14 · Supabase · NextAuth (Google OAuth) · Tailwind CSS · Vercel
| Who | What they see |
|---|---|
| Organiser (public) | /schedule — live slot availability grid, rolling 3 months, WhatsApp CTA |
| Coordinator (admin) | /admin — booking dashboard, new booking form with live rule checks, soft block management |
spartans-book-a-slotProject URL → this is your NEXT_PUBLIC_SUPABASE_URLanon key → NEXT_PUBLIC_SUPABASE_ANON_KEYservice_role key → SUPABASE_SERVICE_ROLE_KEY (keep this secret)supabase/migrations/001_initial_schema.sql from this repospartans-book-a-slothttp://localhost:3000/api/auth/callback/googlehttps://bookslot.spartanscc.in/api/auth/callback/googlespartans-ccspartans-book-a-slotspartans-cc/spartans-book-a-slotIn your Vercel project → Settings → Environment Variables, add:
NEXT_PUBLIC_SUPABASE_URL = https://xxxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY = eyJhbGci...
SUPABASE_SERVICE_ROLE_KEY = eyJhbGci... (mark as Secret)
GOOGLE_CLIENT_ID = xxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET = GOCSPX-xxx (mark as Secret)
NEXTAUTH_SECRET = (run: openssl rand -base64 32)
NEXTAUTH_URL = https://bookslot.spartanscc.in
ADMIN_EMAILS = [email protected]
NEXT_PUBLIC_WA_NUMBER = 919XXXXXXXXX
bookslot.spartanscc.inSend them: https://bookslot.spartanscc.in/schedule
That's it. No login, no instructions needed.
Go to: https://bookslot.spartanscc.in/admin
Sign in with club Gmail. Session lasts 8 hours.
Admin dashboard → find the booking → Edit → Cancel. The slot re-opens on the public schedule immediately.
Admin dashboard → find the soft block → Release.
# 1. Clone the repo
git clone https://github.com/spartans-cc/spartans-book-a-slot.git
cd spartans-book-a-slot
# 2. Install dependencies
npm install
# 3. Copy env file and fill in values
cp .env.example .env.local
# Edit .env.local with your actual values
# 4. Run development server
npm run dev
# 5. Open http://localhost:3000
src/
app/
api/
auth/ NextAuth Google OAuth handler
availability/ Public slot grid data (no auth)
bookings/ CRUD for confirmed bookings (admin auth)
soft-blocks/ CRUD for soft block reservations (admin auth)
validate/ Dry-run rule check for live form feedback
captains/ Captain list and management
tournaments/ Tournament list and management
schedule/ Public organiser-facing availability page
admin/
(dashboard) Booking list, stat cards, alerts
bookings/new Step form with live rule validation
soft-blocks/ Soft block creation and management
login/ Google OAuth sign-in page
components/
ui/ SiteNav and shared UI
schedule/ ScheduleGrid (responsive mobile/tablet/desktop)
admin/ AdminSidebar
lib/
supabase.ts Supabase client helpers
auth.ts NextAuth config with email whitelist
validation.ts All 5 scheduling rules + availability computation
whatsapp.ts WhatsApp deep link builder
types/
index.ts All TypeScript types and constants
supabase/
migrations/
001_initial_schema.sql Full DB schema — run this once in Supabase
Edit the ADMIN_EMAILS environment variable in Vercel:
[email protected],[email protected]
Redeploy. Done.
spartanscricketclub.vercel.app platformBuilt with Claude (claude.ai) · Maintained by Spartans CC · Est. 2014