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
| Component | Platform | Purpose |
|---|---|---|
| Web App | Vercel | Next.js hosting, API routes |
| Database | Supabase | PostgreSQL, Auth, Storage |
| Background Jobs | Railway | Scheduled services |
| Mobile App | App Store / Play Store | iOS and Android |
| Resend | Transactional & marketing | |
| Payments | Stripe | Checkout, subscriptions |
| Search | Algolia | Product search |
| CDN | Vercel Edge / Supabase CDN | Static 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
- Database: Apply migrations to Supabase
- Web App: Deploy to Vercel
- Services: Deploy to Railway
- Mobile: Submit to app stores
Post-Deployment
- Verify health endpoints
- Test checkout flow
- Monitor error rates
- Check background job execution
Next Steps
- Web App Deployment - Vercel configuration
- Database Deployment - Supabase migrations
- Background Services - Railway setup
- Mobile Deployment - App store submission