Skip to content

Authentication & Onboarding

What it does

Authentication & Onboarding is the guided path from "new here" to "ready to play". You create an account, confirm your email, tell the app how you play, and join your league — all before you score your first round. It keeps the setup short and personalises what you see next based on whether you run a comp, play in a league, or just play casual rounds with mates.

How it works

  1. Sign up or sign in. Create an account with an email and password, or continue with Google. Registration asks for your name and a few basics. If you sign in with Google using an email you already registered, the app links the two so you keep one account.
  2. Verify your email. After signing up you're sent a verification link. Until you tap it, your account sits in a "pending" state — you're signed in, but you must verify before you can join a league. You can resend the link or switch to a different account from this screen.
  3. Choose how you play. First-time onboarding asks what brings you here — playing casually with friends, playing in a league, running a comp, or just exploring. Your answer tailors the rest of setup.
  4. Pick your sport. Golf is available now. If you play golf, you can add your handicap here.
  5. Get going. A final step suggests your most likely next action — join a league by code, play a casual round, or set up a comp — based on the role you picked. You can take the suggestion or skip straight to the home screen.
  6. Join a league. Enter the six-character join code your organiser shares. If the league already has a member record that matches your email, the app asks you to confirm it's you and links your account to that record, keeping your past scores and balances. If there's no match, you send a request to join that the organiser reviews and approves.

Key details

  • Two ways to sign in: email and password, or Google. Both lead to the same account, and the app links them if you use both with one email.
  • A "Forgot password?" option emails you a reset link.
  • Email verification is required before you can join a league. The pending screen lets you resend the link (with a short cooldown) or sign out.
  • Onboarding is personalised: the role you choose changes the suggested next step and which features are highlighted.
  • You can edit your profile later — display name, photo, bio, date of birth, and golf details such as handicap and home club.
  • Your contact details stay private. Email and any contact information are visible only to you and your league's admins — never to other players. When you send a join request, the organiser reviewing it sees your name, verified email, handicap, and gender so they can match you to the roster.

Technical notes

Built with Flutter/Dart. Sign-in is handled by Firebase Auth, supporting both email/password and Google. Your account and league membership are stored in Firestore, and access throughout the app is gated by Firebase Auth. Email verification uses Firebase's built-in verification links.

  • Home Dashboard — where you land once you're signed in and onboarded.
  • Admin Console — where organisers review and approve join requests.
  • Friends — connect with other players once you have an account.
  • Leagues — the format you join during onboarding.

Last updated: 2026-05-31