OpenAthlete
AGPLv3 endurance training platform: EU-oriented hosting, transparent CTL/ATL/TSB logic in code, self-hosting, and full export. Built in Grenoble.
Spartans CC BLR — Fixtures, Availability & Squad Hub.
Translation pending
Sports & fitnessTypeScript · CSSGitHub @spartans-cc-blrOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
this is for organizers to know the available schedule and book a slot
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
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 projectRead the full 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