Getting StartedDeployment

Deployment

App Store Deployment

Pre-Submission Checklist

  • Bundle ID: com.staccato.coffee
  • Version/Build: Updated in project settings
  • App Icons: All required sizes in asset catalog
  • Launch Screen: Configured in Info.plist
  • Privacy Policy URL: Required for Sign in with Apple
  • Support URL: Required for App Store listing
  • Screenshots: All required device sizes (see below)
  • Production API keys: Updated in Environment.swift

Required Capabilities

Verify in Signing & Capabilities:

  • Sign in with Apple
  • Apple Pay (merchant ID: merchant.com.staccato.coffee)

App Store Connect Setup

  1. Create App Record: Apps → + → New App

    • Platform: iOS
    • Bundle ID: Select com.staccato.coffee
    • SKU: staccato-coffee-ios
  2. App Information:

    • Name: Staccato Coffee
    • Category: Food & Drink
    • Primary Language: English (U.S.)
  3. Pricing: Free

  4. App Privacy:

    • Data collected: Email, Name, Payment Info
    • Linked to identity: Yes
    • Tracking: No

Screenshots Required

DeviceSize
iPhone 6.7”1290 x 2796
iPhone 6.5”1284 x 2778
iPhone 5.5”1242 x 2208
iPad Pro 12.9”2048 x 2732 (if supporting iPad)

Recommended screenshots: Login, Home tab, Menu browsing, Item detail, Cart, Apple Pay checkout, Rewards tab.

Build and Upload

Product → Archive → Window → Organizer → Distribute App → App Store Connect

TestFlight

  1. Upload build to App Store Connect
  2. Wait for processing (~15-30 min)
  3. Add internal testers (up to 100)
  4. Submit for Beta App Review

Review Notes Template

Demo Account:
Email: demo@staccato.coffee
Password: DemoPass123!

Apple Pay Testing:
Use Apple Pay sandbox environment with test cards.

This app is for ordering coffee and food from Staccato Coffee House
physical locations. Payments are for physical goods only.

Edge Functions Deployment

# Install Supabase CLI
brew install supabase/tap/supabase
 
# Login and link project
supabase login
supabase link --project-ref YOUR_PROJECT_REF
 
# Set secrets
supabase secrets set SQUARE_ACCESS_TOKEN=your_access_token
supabase secrets set SQUARE_LOCATION_ID=your_location_id
 
# Deploy both functions
supabase functions deploy process-payment
supabase functions deploy sync-square-order

Docs Site Deployment (Vercel)

This documentation site deploys to Vercel with zero configuration:

  1. Push the docs-site/ directory to your repo
  2. Connect the repo in Vercel Dashboard
  3. Set Root Directory to docs-site
  4. Framework will auto-detect as Next.js
  5. Deploy

Or via CLI:

cd docs-site
npx vercel --prod

Production Checklist

Supabase

  • Enable email confirmation
  • Configure custom SMTP for branded emails
  • Set up backups (paid plans)
  • Review RLS policies
  • Verify Realtime is enabled for orders and order_items

Square

  • Switch to production credentials (from sandbox)
  • Enable Apple Pay in Square dashboard
  • Test with real card (small amount)

iOS App

  • Update to production Supabase URL and anon key
  • Update Square Application ID to production
  • Remove any debug/sandbox fallbacks
  • Configure App Store Connect
  • Submit for App Store review