Skip to main content

Create / join league

Goal

Commissioner creates a league; managers can browse discoverable leagues but join only through commissioner approval or an invite code.

Actors

Commissioner, Manager, signed-out visitor

Happy path

  1. A signed-in commissioner creates a league and opts it into discoverability when it should appear in the league list.
  2. A visitor browses discoverable leagues; browse may happen pre-auth.
  3. The visitor chooses one path: request to join (the request stays pending until commissioner approval) or enter an invite code.
  4. If the visitor is not signed in, soft-gate auth appears before the request-to-join or redeem-code membership write.
  5. The commissioner reviews pending requests and approves or declines them.

Path: Browse discoverable leagues (may be pre-auth for browse; auth required before request-to-join / redeem code) → Request to join (pending approval) or enter invite code → soft-gate auth if not signed in before membership write.

Auth soft-gate

Browse is allowed signed-out; create / request-join / redeem-code require auth.

Edge cases

  • Invalid, expired, or already-used invite code
  • Duplicate request or existing league membership
  • Commissioner declines a pending request
  • Discoverable league reaches its membership limit or is no longer accepting members

Open decisions