Public lacrosse scheduling, scoring, and registration platform.
- Competitions — Field, Box, Sixes, or any custom format
- Divisions — Arbitrary age brackets and gender categories
- Fixture generation — Round-robin scheduler with team and competition-wide byes
- Live scoring — Real-time goals, assists, technical fouls (30s), personal fouls (1-3 min), simultaneous fouls, ejections
- Player registration — Club-based registration with payment gateway
- Roster management — Club officials assign players up to 2 days before game
- Standings — Auto-calculated per division
- Next.js 16 / React 19 / TypeScript
- Tailwind CSS 4
- Supabase (Postgres, Auth, Realtime)
- Deployed on Vercel
- Docker
- A Supabase project
# Create from template
gh repo create my-org/my-league --template your-org/LacrosseBoss --clone
cd my-league
# Run setup
./init.shThe init script will:
- Prompt for your Supabase URL and anon key
- Install dependencies (via Docker)
- Optionally run database migrations
docker run --rm -v $(pwd):/work -w /work -p 3000:3000 node:22-slim npm run dev -- -H 0.0.0.0Push to GitHub and connect to Vercel, or:
npx vercel| Route | Method | Description |
|---|---|---|
/api/register |
POST | Player registration |
/api/pay |
POST | Process registration payment |
/api/fixtures/generate |
POST | Generate draft fixtures |
/api/fixtures/confirm |
POST | Persist fixtures as games |
/api/games/[gameId]/events |
POST | Record goals, fouls, simultaneous fouls |
/api/roster/assign |
POST | Assign players to game roster |
Migrations are in supabase/migrations/ and applied in order:
001_initial_schema.sql— Divisions, competitions, seasons, teams, games, standings002_fixture_scheduling.sql— Rounds, bye weeks, team byes003_player_registration.sql— Clubs, players, registrations, payments, officials, rosters004_game_events.sql— Goals, assists, fouls (technical/personal), simultaneous fouls
To use this as a GitHub template:
- Push to GitHub
- Go to repo Settings → check "Template repository"
- Others can click "Use this template" to create their own league app