This is a simple web page to manage compeition sign ups for a ninja warrior team in a spreadsheet. The main problem it solves is that all the parents need to:
- Find a list of competitions
- Sign up their kids
- Tell the gym so the gym can schedule a coach to send.
This lets them do those things all in one place, based on a spreadsheet managed by their kids' gym.
- Create a new Google Sheet.
- Change the name of the default worksheet to "Competitions".
- Add a frozen row at the top with the following columns:
- "League" -- UNAA, FINA, WNL, etc.
- "Date" -- Date of the competition, in whatever format you want
- "Gym" -- Name of the gym hosting the competition
- "City" -- City/State of the competition
- "Registration Link" -- Registration link parents will need to fully sign up.
- Create a service account (instructions).
- Share the spreadsheet with the service account's email address (something like project-name@project-name-project.iam.gserviceaccount.com).
- Record the details you'll need:
- The service account email address from step 5.
- The service account private key. You'll see it in the JSON you download when creating the service account; it's the
private_key
field and it should start with-----BEGIN PRIVATE KEY-----
. - The spreadsheet id, which is in the URL of the sheet. For example, the
<id>
inhttps://docs.google.com/spreadsheets/d/<id>/edit
.
- Fork this GitHub repo
- Create a Vercel account linked to your GitHub account.
- Import the forked repo into a new project.
- Set the following environment variables
NEXT_PUBLIC_GYM_NAME
: the name of the gym your competition team is from.GOOGLE_SHEETS_CLIENT_EMAIL
: The service account email from step 6.i aboveGOOGLE_SHEETS_PRIVATE_KEY
: The private key from step 6.ii aboveGOOGLE_SHEETS_ID
: the id from step 6.iii above- (Optional)
NEXT_PUBLIC_LINK_URL
: a link to more information about the competitions
- Deploy!