Skip to main content

Deploy Guide

Prerequisites

  • Node.js 18+ and npm
  • Cloudflare account (free tier supported)
  • Supabase account and project
  • Wrangler CLI: npm install -g wrangler

Step 1: Clone and Install

git clone https://github.com/boxmevibe/boxme_levelling.git
cd boxme_levelling
npm install

Step 2: Authenticate with Cloudflare

npx wrangler login
npx wrangler whoami

Step 3: Set Up Supabase

  1. Create a project at supabase.com
  2. Run the migrations in SQL Editor
  3. Note your project URL and service role key

Step 4: Build and Deploy

npm run build
npx wrangler pages deploy dist --project-name boxme-levelling

Step 5: Set Environment Variables

npx wrangler pages secret put SUPABASE_URL --project-name boxme-levelling
npx wrangler pages secret put SUPABASE_SERVICE_ROLE_KEY --project-name boxme-levelling

Step 6: Verify

# Test health
curl https://boxme-levelling.pages.dev/api/warehouses

# Test auth
curl -X POST https://boxme-levelling.pages.dev/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin"}'

Option 2: Cloudflare Pages + D1 (SQLite)

Step 1: Create D1 Database

npx wrangler d1 create boxme-levelling-production

Step 2: Update wrangler.jsonc

{
"d1_databases": [{
"binding": "DB",
"database_name": "boxme-levelling-production",
"database_id": "YOUR_DATABASE_ID"
}]
}

Step 3: Run Migrations

npx wrangler d1 migrations apply boxme-levelling-production

Step 4: Build and Deploy

npm run build
npx wrangler pages deploy dist --project-name boxme-levelling

Local Development

npm install
npm run dev
# → http://localhost:5173

Updating

# After code changes
npm run build && npx wrangler pages deploy dist --project-name boxme-levelling

# After new migrations
npx wrangler d1 migrations apply boxme-levelling-production
npm run build && npx wrangler pages deploy dist --project-name boxme-levelling