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"
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
- Click "Sign In" in the navigation
- Create an account or sign in
- Verify you can see your profile
Access Admin Dashboard
- Navigate to
/admin - If you added your user ID to
ADMIN_USER_IDS, you should have access - 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:
- Intuit Setup - For QuickBooks integration
- Square Setup - For Square integration
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_URLis 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
- Installation Guide - Detailed setup instructions
- Environment Variables - Complete configuration reference
- Database Setup - Database configuration help
- GitHub Issues - Report bugs or ask questions
Congratulations! 🎉 You now have Gully Sports running locally. Continue to the Installation Guide for more detailed information.