Deployment

Deployment Documentation

Complete deployment documentation covering all installation methods and configurations for LoyaltyTree.

Deployment Documentation

Overview

This comprehensive guide covers all aspects of deploying LoyaltyTree in different environments and configurations. Choose the deployment method that best fits your store setup.

Deployment Options

1. Shopify App Store Installation (Recommended)

The simplest deployment method for most merchants:

Prerequisites

  • Active Shopify store (any plan)
  • Store owner or staff account with app installation permissions
  • Email access for verification

Installation Steps

  1. Visit Shopify App Store

    • Search for "LoyaltyTree"
    • Click "Add app" button
    • Review permissions and approve
  2. Complete Setup

    • Automatic store detection and configuration
    • Choose loyalty program settings
    • Customize widgets and messaging
  3. Test Integration

    • Place test orders to verify seed allocation
    • Test tree redemption process
    • Verify customer notifications

2. Custom Installation for Agencies

For agencies managing multiple client stores:

Prerequisites

  • LoyaltyTree Partner Account
  • API access credentials
  • Development environment setup

Configuration Process

# Clone deployment repository
git clone https://github.com/loyalty-tree/shopify-deployment

# Configure environment
cp .env.example .env
# Edit .env with store-specific settings

# Run deployment script
npm run deploy --store=client-store.myshopify.com

3. White-Label Deployment

For brands wanting custom branding:

Features

  • Custom domain and branding
  • Personalized email templates
  • Custom widget designs
  • Dedicated support team

Setup Process

  1. Enterprise Account Setup

    • Contact sales team
    • Define branding requirements
    • Review deployment timeline
  2. Custom Configuration

    • Brand-specific API endpoints
    • Custom email templates
    • Widget theme development

Plan-Specific Deployment

Shopify Plus Stores

Checkout Extension Deployment

  • Automatic checkout extension installation
  • Dynamic pricing integration
  • Advanced analytics tracking
  • Multi-currency support

Configuration:

// Automatic Plus detection
if (Shopify.shop.plan === "plus") {
  deployCheckoutExtension({
    features: ["tree-sponsorship", "impact-tracking"],
    pricing: "dynamic",
    currencies: "all"
  });
}

Standard Shopify Plans

Cart Widget Deployment

  • Theme-integrated widget installation
  • Manual theme modification support
  • Standard analytics tracking
  • Basic currency support

Integration Code:

<!-- Add to cart.liquid template -->
{% render 'loyaltytree-cart-widget' %}

Environment Configuration

Development Environment

# Development settings
NODE_ENV=development
SHOPIFY_APP_URL=https://your-ngrok-url.ngrok.io
ONESEED_ENVIRONMENT=sandbox
DATABASE_URL=postgresql://localhost:5432/loyalty_dev

Staging Environment

# Staging settings
NODE_ENV=staging
SHOPIFY_APP_URL=https://staging.loyalty.eco
ONESEED_ENVIRONMENT=staging
DATABASE_URL=postgresql://staging-db/loyalty_staging

Production Environment

# Production settings
NODE_ENV=production
SHOPIFY_APP_URL=https://loyalty.eco
ONESEED_ENVIRONMENT=production
DATABASE_URL=postgresql://prod-db/loyalty_production

Security Configuration

SSL/TLS Setup

  • Required for all production deployments
  • Automatic certificate management
  • HTTPS enforcement for all endpoints

Webhook Security

// Webhook signature verification
const crypto = require('crypto');
const webhook_secret = process.env.SHOPIFY_WEBHOOK_SECRET;

function verifyWebhook(data, signature) {
  const calculated = crypto
    .createHmac('sha256', webhook_secret)
    .update(data, 'utf8')
    .digest('base64');
  
  return calculated === signature;
}

Data Encryption

  • Customer data encrypted at rest
  • PCI DSS compliance for payment data
  • GDPR compliance for EU customers

Monitoring & Maintenance

Health Checks

# Automated health monitoring
curl -f https://your-app.com/health || exit 1

# Expected response
{
  "status": "healthy",
  "database": "connected",
  "apis": {
    "shopify": "active",
    "oneseed": "active"
  },
  "uptime": "99.9%"
}

Performance Monitoring

  • Real-time performance metrics
  • Error tracking and alerting
  • Automatic scaling configuration
  • Database optimization

Backup Strategy

  • Hourly database backups
  • Weekly full system backups
  • Point-in-time recovery capability
  • Disaster recovery procedures

Troubleshooting Deployment

Common Issues

SSL Certificate Errors

  • Verify domain DNS configuration
  • Check certificate expiration dates
  • Ensure proper certificate chain

Database Connection Failures

  • Validate connection strings
  • Check firewall settings
  • Verify authentication credentials

API Integration Issues

  • Test API endpoint connectivity
  • Verify authentication tokens
  • Check rate limiting settings

Support Resources

  • Deployment Guide: Step-by-step visual instructions
  • Video Tutorials: Platform-specific deployment videos
  • Technical Support: Email support@loyalty.eco
  • Emergency Support: 24/7 critical issue assistance

Success Validation

Post-Deployment Checklist

  • App appears in Shopify admin
  • Widgets display correctly on storefront
  • Test orders process successfully
  • Webhooks deliver properly
  • Customer emails send correctly
  • Analytics tracking functions
  • Tree planting integration works

Performance Benchmarks

  • Page Load Impact: <200ms additional load time
  • Conversion Rate: 15-25% tree sponsorship adoption
  • Order Value Increase: $8-15 average lift
  • Customer Satisfaction: >90% positive feedback

Your LoyaltyTree deployment is now complete and ready to drive environmental impact and customer engagement!

Was this helpful?

Let us know how we can improve our documentation.

contact_support

Still need help?

Our support team is available to assist you with any questions or technical issues.

Contact Support arrow_forward
feedback

Suggest an edit

Did you find an error or missing information? Help us improve our documentation.

Edit on GitHub open_in_new