Skip to main content

Deployment Overview

Artbase Studio is deployed across multiple platforms optimized for each component's requirements.

Architecture Overview

┌─────────────────────────────────────────────────────────────────┐
│ Production Stack │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Vercel │ │ Railway │ │ App Stores │ │
│ │ (Web App) │ │ (Services) │ │ (Flutter) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │ │
│ └────────┬────────┴────────┬────────┘ │
│ │ │ │
│ ┌──────▼──────┐ ┌──────▼──────┐ │
│ │ Supabase │ │ Stripe │ │
│ │ (Backend) │ │ (Payments) │ │
│ └─────────────┘ └─────────────┘ │
│ │ │
│ ┌──────▼──────┐ │
│ │ Resend │ │
│ │ (Email) │ │
│ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Platform Summary

ComponentPlatformPurpose
Web AppVercelNext.js hosting, API routes
DatabaseSupabasePostgreSQL, Auth, Storage
Background JobsRailwayScheduled services
Mobile AppApp Store / Play StoreiOS and Android
EmailResendTransactional & marketing
PaymentsStripeCheckout, subscriptions
SearchAlgoliaProduct search
CDNVercel Edge / Supabase CDNStatic assets, images

Environment Configuration

Environment Variables

All services share common environment variables:

# Supabase
NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...
SUPABASE_SERVICE_ROLE_KEY=eyJ...

# Stripe
STRIPE_SECRET_KEY=sk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_live_...

# Resend
RESEND_API_KEY=re_...

# Encryption
ENCRYPTION_KEY=32-byte-hex-key

# App URLs
NEXT_PUBLIC_APP_URL=https://app.artbase.studio
NEXT_PUBLIC_STOREFRONT_URL=https://store.artbase.studio

Secrets Management

  • Vercel: Environment variables in project settings
  • Railway: Environment variables per service
  • Flutter: Compile-time configuration via --dart-define
  • Supabase: Vault for sensitive Edge Function secrets

Deployment Checklist

Pre-Deployment

  • All tests passing
  • Database migrations reviewed
  • Environment variables configured
  • Stripe webhooks configured
  • Resend domain verified

Deployment Steps

  1. Database: Apply migrations to Supabase
  2. Web App: Deploy to Vercel
  3. Services: Deploy to Railway
  4. Mobile: Submit to app stores

Post-Deployment

  • Verify health endpoints
  • Test checkout flow
  • Monitor error rates
  • Check background job execution

Next Steps