Setup Instructions

GitHub

Follow these steps to set up your own FIRST TeamMatch instance for your state or region.

Prerequisites

  • • Node.js 18+ and npm
  • • A Neon account (free, at neon.tech) for the database
  • • A GitHub account (for cloning the repository)
  • • Basic knowledge of command line and web development

1Clone and Install

Clone the repository and install dependencies:

$ git clone https://github.com/your-org/first-teammatch.git
$ cd first-teammatch
$ npm install

2Configure Your Instance

Copy the environment template and customize it:

$ cp env-template.txt .env.local

Open .env.local and customize the following:

# State/Region Information
NEXT_PUBLIC_STATE_NAME=YourState
NEXT_PUBLIC_STATE_ABBREVIATION=XX
NEXT_PUBLIC_REGION_NAME=YourState
# Organization Information
NEXT_PUBLIC_ORG_NAME=Your Team Name
NEXT_PUBLIC_ORG_LOCATION=City, State
NEXT_PUBLIC_ORG_WEBSITE=https://your-team-website.org
NEXT_PUBLIC_ORG_EMAIL=your-email@example.com
# Contact & Branding
NEXT_PUBLIC_CONTACT_EMAIL=your-email@example.com
NEXT_PUBLIC_APP_NAME=FIRST TeamMatch YourState
NEXT_PUBLIC_APP_DESCRIPTION=Connecting students...
# Database
DATABASE_URL=postgresql://user:pass@ep-xxx.pooler.us-east-1.aws.neon.tech/neondb?sslmode=require

3Set Up Database

Create a Neon Project

  1. Go to neon.tech and sign up (free, no credit card required)
  2. Click "New Project" and give it a name
  3. Select AWS as the provider and US East (N. Virginia) as the region
  4. Leave Neon Auth off
  5. Click "Create project"

Get Your Connection String

  1. From your Neon project dashboard, click "Connect"
  2. Select Pooled connection
  3. Copy the connection string
  4. Add it to your .env.local as DATABASE_URL

Run the Schema

  1. In the Neon dashboard, open the SQL Editor
  2. Copy the contents of database/schema.sql from this repository
  3. Paste it into the SQL Editor and click Run

4Test Locally

Start the development server:

$ npm run dev

Open http://localhost:3000 in your browser. You should see your customized homepage.

5Create Your First Admin Account

  1. Register a new team account through the app (use "I'm a Team" button)
  2. Use the admin management script to promote them to admin:
    $ npm run manage:admins -- add your-email@example.com

6Deploy Your Instance

Deploy to Vercel (Recommended)

  1. Push your code to GitHub
  2. Go to Vercel and sign in with GitHub
  3. Click "Add New Project" and import your repository
  4. Add ALL environment variables from your .env.local file
  5. Click "Deploy"

Other Deployment Options

The app can be deployed to any platform that supports Next.js:

  • AWS Amplify
  • Netlify
  • Railway
  • Your own server (build with npm run build and run with npm start)

Security Checklist

Click each item to check it off as you complete it. (This checklist resets when you reload the page.)

  • database/schema.sql has been run on your Neon database
  • DATABASE_URL is set in your environment variables
  • Admin account created with manage:admins script
  • Environment variables are set in production
  • Login and registration flow tested successfully
  • You've tested the registration flow
  • You've tested the admin dashboard

Need Help?

For questions or issues, contact the original developers:

Email