Skip to main content

Quick Start

Get Gully Sports running locally in under 10 minutes! This guide assumes you have basic development tools installed.

Prerequisites

Before you begin, ensure you have:

  • Node.js 18+ installed (Download)
  • npm or yarn package manager
  • Git for version control
  • A CockroachDB account (Sign up)
  • A Supabase project (Create one)

Installation Steps

1. Clone the Repository

git clone https://github.com/your-org/gully-store-consumer-app.git
cd gully-store-consumer-app

2. Install Dependencies

npm install

This will install all required packages including:

  • Next.js 15
  • React 19
  • Prisma (ORM)
  • Tailwind CSS 4
  • Supabase client
  • Payment SDKs (Intuit & Square)

3. Set Up Environment Variables

Create a .env.local file in the root directory:

cp .env.example .env.local

Add your configuration (minimum required):

# Database (CockroachDB)
DATABASE_URL="postgresql://user:pass@host:port/database?sslmode=require"
DIRECT_URL="postgresql://user:pass@host:port/database?sslmode=require"

# Authentication (Supabase)
NEXT_PUBLIC_SUPABASE_URL="https://your-project.supabase.co"
NEXT_PUBLIC_SUPABASE_ANON_KEY="your-anon-key"
SUPABASE_SERVICE_ROLE_KEY="your-service-role-key"

# Admin Access
ADMIN_USER_IDS="your-supabase-user-id"

# Payment Provider Selection
NEXT_PUBLIC_PAYMENT_PROVIDER=intuit # or "square"
tip

See the Environment Variables Guide for complete configuration options.

4. Initialize the Database

Generate Prisma client and push the schema:

npx prisma generate
npx prisma db push

Optional: Seed sample data

node prisma/seed.js

5. Run the Development Server

npm run dev

Open http://localhost:3000 in your browser! 🎉

Verify Installation

Check the Homepage

  • Homepage should load with navigation
  • You should see "Gully Sports" branding
  • Navigation links should be visible

Test Authentication

  1. Click "Sign In" in the navigation
  2. Create an account or sign in
  3. Verify you can see your profile

Access Admin Dashboard

  1. Navigate to /admin
  2. If you added your user ID to ADMIN_USER_IDS, you should have access
  3. You should see the admin dashboard

Next Steps

Now that you're running locally, here's what to do next:

Configure Your Payment Provider

Choose between Intuit QuickBooks or Square and set up payment processing:

Set Up Product Images

Configure Vercel Blob for product image uploads:

BLOB_READ_WRITE_TOKEN="your-vercel-blob-token"

See Product Images Feature for details.

Customize Your Business Info

Update business information in your .env.local:

NEXT_PUBLIC_BUSINESS_NAME="Your Business Name"
NEXT_PUBLIC_CONTACT_EMAIL="contact@yourbusiness.com"
NEXT_PUBLIC_CONTACT_PHONE="+1 (555) 123-4567"
NEXT_PUBLIC_BUSINESS_LOCATION="Your City, State"
NEXT_PUBLIC_SITE_URL="https://yourdomain.com"

Explore Feature Flags

Control which features are enabled:

# Enable lane rental features
NEXT_PUBLIC_ENABLE_LANE_RENTAL=true

# Switch payment provider
NEXT_PUBLIC_PAYMENT_PROVIDER=square

Learn more in the Feature Flags Guide.

Common Issues

Database Connection Failed

  • Verify your DATABASE_URL is correct
  • Ensure your CockroachDB cluster is running
  • Check that SSL is enabled (sslmode=require)

Authentication Not Working

  • Verify your Supabase project URL and keys
  • Check that email confirmation is disabled (or set up SMTP)
  • Ensure redirect URLs are configured in Supabase dashboard

Admin Access Denied

  • Make sure your Supabase user ID is in ADMIN_USER_IDS
  • Check that you're signed in with the correct account
  • IDs should be comma-separated if multiple admins

Getting Help


Congratulations! 🎉 You now have Gully Sports running locally. Continue to the Installation Guide for more detailed information.