BikeControl (SwiftControl)
Use Zwift Click, Zwift Play, Shimano Di2, or any Bluetooth controller with MyWhoosh, Rouvy, Zwift, and more. Free to try on iOS, Android, Windows, and macOS.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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 projectREADME 전문 보기 ↗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