Date: 2 August 2026 · Status: Live (Stripe in Live Mode) · Purpose: Pre-development baseline snapshot
League Gator is an all-in-one sports management SaaS serving leagues, clubs, and sports organisations. It combines:
| Frontend | React 18 + Vite 6, Tailwind CSS 3, shadcn/ui (Radix primitives) |
| Routing | react-router-dom 6 |
| Data layer | @tanstack/react-query 5, Base44 SDK (@base44/sdk 0.8.41) |
| Backend | Base44 BaaS — entities, auth, functions (Deno), automations |
| Payments | Stripe (Live) — @stripe/react-stripe-js, stripe-js |
| Rich content | react-quill, react-markdown |
| Charts | recharts |
| Maps | react-leaflet |
| 3D/Visual | three.js |
| Drag & drop | @hello-pangea/dnd |
| jspdf, html2canvas | |
| Forms | react-hook-form + zod |
| i18n | i18next + react-i18next (en, es, fr, pt) |
| Notifications | sonner (toasts), react-hot-toast |
| Resend (RESEND_API_KEY) | |
| SMS | Twilio (via PlatformSettings) |
Defined in src/lib/rbac.js. Platform roles are stored as the Base44 admin platform role, differentiated by a sub-role field.
Row-Level Security (RLS) is configured per entity — most follow an owner-or-admin pattern; some are public-read (read: null).
Defined in src/lib/sportConfig.js. Each sport carries a full terminology map (match/team/player/fixture/standings/score/venue/competition/round/coach + two extra stats) that drives sport-aware UI labels across the app.
Team sports (26): Soccer, Basketball, Cricket, Volleyball, American Football, Rugby Union, Baseball, Ice Hockey, Field Hockey, Handball, Rugby League, Water Polo, Lacrosse, Softball, Futsal, Netball, Kabaddi, AFL, Gaelic Football, Ultimate Frisbee, Curling, Polo, Sepak Takraw, Dragon Boat Racing, Beach Volleyball.
Individual sports (24): Tennis, Athletics, Golf, Boxing, F1, MMA, Cycling, Swimming, Gymnastics, Wrestling, Badminton, Table Tennis, Skiing, Snowboarding, Surfing, Skateboarding, Triathlon, Marathon, Horse Racing, Judo, Taekwondo, Fencing, Archery, Billiards/Snooker, Chess.
Multi-sport organisations merge terminology (sport-specific where terms agree, generic fallback where they differ). Organisations enable sports via sports_enabled[]; sport_type is auto-set from the primary.
generateIntelligentSchedule (AI/optimised round-robin — venue distribution + home-venue preference, recently fixed), optimizeFixtureSchedule, assignReferees / intelligentRefereeAssignment, generateBracket, seedWinner, exportFixturesToCalendar, updateLeagueStandings
generateMatchSummary / generateMatchReport (AI), generateCommissionerReport, assignMatchFeeOnFixtureCompletion, calculateRefereeFees, createRefereePayout / exportRefereePayoutReport / processRefereeStripeConnect
createCheckoutSession / createRegistrationCheckout / createStripeInvoice, manageSubscription, stripeWebhook, expireTrials
affiliateRegistration / trackReferral, processAffiliateCommissions / approveAffiliateCommission / processAffiliatePayout / monthlyAffiliateCommissionCycle
sendEventReminders / sendFixtureSMSReminder / sendRegistrationDeadlineSMS / checkFixture24hReminders, sendNewsletterCampaign / processRecurringNewsletters / unsubscribeNewsletter, notifyFixtureResult / notifyRegistrationStatus / notifyTrainingSession / notifyWeatherAlerts / notifyRefereePayoutPaid / notifyNewSupportTicket, createNotifications, processSMSQueue, sendContactMessage
createSignupOrganisation (self-service, service-role bypass of RLS), inviteOrgAdmin, requestPoSignup / approvePoRegistration
checkWeatherAlerts / notifyWeatherAlerts (OpenWeather integration)
generateSEOContent / generateSocialContent / generateFAQ
getPlatformSettings / updatePlatformSettings, createCodeSnapshot / createContentSnapshot / createConfigSnapshot, restoreCodeVersion / restoreContentVersion / restoreConfigVersion, softDeleteAdminUser / purgeDeletedAdmins / softDeleteEntity / restoreFromRecycleBin / purgeExpiredRecycleBin, submitRefereeRating
/login, /register, /forgot-password, /reset-password (email/password + Google OAuth + OTP), /signup (org self-signup/pricing), /sport-landing/:sportId, /pages/:slug, /legal/:slug, /availability, /unsubscribe, /affiliate/signup
Per-organisation public website: Home, Fixtures, Results, Standings, Stats, Team Roster, News, Competitions, Register, Contact, Legal pages. SEO titles follow [Org name] - [Page Title].
Dashboard, User Management, Organisations, Plans, Subscriptions, Support Tickets, Announcements, Knowledge Base, Analytics, Landing Analytics, Newsletter, Marketing (Landing Pages/Leads/Analytics/Newsletter), Version Control, Page Management, Affiliates (Manage/Marketing Assets/Referee Payouts), Weather Alerts.
Dashboard, Competitions, Seasons, Teams, Players, Venues, Fixtures, Standings, Registrations, News, Website, Settings, Support, Smart Scheduling, Sport Setup, Venue Availability, Referees (+ profile), Knowledge Base, Page Management, Weather Alerts, Back Office, Injuries.
Dashboard, Calendar, Fixtures, Results, Team, Training, Player Profile, Player Performance, Live Match.
Referee Dashboard.
Dashboard, Marketing Resources.
Tabbed interface: AI/Intelligent generator, Unified Constraint Manager, Round-Robin generator, drag-and-drop Schedule Board.
Full medical workflow: injury recording (type, body part, mechanism, severity, concussion/GRTP flag), multi-file attachment upload (medical reports, clearance docs, imaging), return-to-play clearance gate, one-click "Clear to Play", auto-unblocks scheduling constraints. Embedded in player profiles.
Assignment engine (proximity + qualification + experience matching), availability calendars, post-match ratings (5 categories), configurable match fee rules, Stripe Connect payouts, payout reporting.
Compliance reporting with PDF generation (jspdf).
OpenWeather API integration; automated alerts for fixtures with severity & recommendations (monitor/reschedule/cancel/proceed).
Per-org public site with custom branding (logo, colors, hero), custom menu links, built-in menu visibility toggles, season visibility filtering, SEO titles, social links, newsletter widget, contact form, registration with Stripe checkout.
Landing page builder, lead capture with custom form fields, newsletter campaigns (scheduled + recurring), analytics, marketing assets for affiliates.
Code/content/config snapshots with restore; recycle bin with soft-delete + expiry purge; soft-deleted admin user handling.
4 languages (en, es, fr, pt) via i18next; language switcher in sidebar; sport-aware terminology.
| Integration | Status | Secret |
|---|---|---|
| Stripe (Live) | Claimed, Live Mode | STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY, STRIPE_WEBHOOK_SECRET (+ test keys) |
| Resend (Email) | Configured | RESEND_API_KEY |
| Twilio (SMS) | Via PlatformSettings | twilio_account_sid, twilio_auth_token, twilio_phone_number |
| OpenWeather | Via PlatformSettings | openweather_api_key |
| Base44 Core | Built-in | InvokeLLM, UploadFile, GenerateImage, GenerateSpeech, GenerateVideo, TranscribeAudio, SendEmail, ExtractData, CreateFileSignedUrl, UploadPrivateFile |
App connectors: None authorised yet. Supported connectors available (Google, Slack, Microsoft, etc.) but not connected.