Case Study

Trove Gifting — Shopify · Stripe · Xero Sync System

A production-grade multi-vendor gifting platform with end-to-end revenue orchestration — from customer checkout through vendor payout — across Stripe, Shopify, Xero, and AWS infrastructure.

ProductionFull-Stack + IntegrationsArvin Kent Lazaga
90%
Reduction in manual reconciliation overhead
3
Platforms unified into a single orchestration layer
100%
Automated vendor invoice generation via Xero
< 2s
Webhook-to-order processing latency

Overview

What was built

Trove Gifting is a B2B gifting platform connecting corporate buyers with curated vendors. The core engineering challenge was orchestrating payments, inventory, accounting, and fulfillment across three separate SaaS platforms — Stripe, Shopify, and Xero — without manual intervention at any step.

The solution is a NestJS backend that acts as the central orchestration hub. It receives webhooks from Stripe and Shopify, processes them through a typed event bus, persists state in MySQL via MikroORM, dispatches async jobs via AWS SQS, and automatically generates Xero invoices per vendor on payout cycle completion.

Two React frontends are served: a customer-facing storefront for gift selection and checkout, and a vendor admin dashboard for order management, packing manifests, and financial reporting. Static assets and uploaded files are stored in AWS S3 with presigned URL delivery.

Architecture

System Architecture Overview

End-to-end revenue and fulfillment orchestration across payments, commerce, accounting, and cloud infrastructure.

01

Customer Frontend

React-based storefront where customers browse gifts, build bundles, and initiate checkout.

React · Next.js · Tailwind CSS

02

Stripe Payment Processing

Handles payment intents, subscription billing, webhook event verification, and refund lifecycle.

Stripe CheckoutPayment IntentsWebhooksSubscriptions
03

Shopify Webhooks + OAuth

Syncs product catalog, inventory levels, and order state via Shopify's Admin REST API using OAuth 2.0.

Shopify Admin API · OAuth 2.0 · Webhooks · Inventory Sync

04

NestJS Backend API

Core application layer. Orchestrates all service integrations, enforces business rules, and exposes RESTful endpoints.

NestJSTypeScriptREST APIGuards & Interceptors
05

MySQL via MikroORM

Relational persistence layer. Manages entities for orders, vendors, products, invoices, and audit logs.

MySQL · MikroORM · Migrations · Transactions

06

AWS Queue — Async Processing

Decouples heavy workloads such as email dispatch, PDF generation, and third-party sync into resilient job queues.

AWS SQSBullMQJob WorkersDead-letter Queue
07

Vendor Admin Frontend

Dedicated dashboard for vendors to manage their product listings, review orders, and download packing manifests.

React · Admin Dashboard · Role-based Access

08

Xero Invoice Payments + AWS S3

Auto-generates and reconciles invoices in Xero per vendor payout cycle. AWS S3 handles all document and asset storage.

Xero APIInvoice AutomationAWS S3Presigned URLs
Integration Layer
Standard Layer

Engineering

Technical highlights

Stripe Webhook Reliability

Idempotent event handlers with signature verification and a persistent event log prevent double-processing across retries.

Shopify OAuth + Catalog Sync

OAuth 2.0 merchant onboarding with automated product, variant, and inventory sync on every Shopify webhook event.

Async Job Architecture

Heavy tasks (PDF generation, email, Xero sync) are decoupled into SQS-backed workers with dead-letter queue handling.

Xero Invoice Automation

Invoices are created, line-itemised, and marked paid in Xero automatically when vendor payouts are confirmed.

Role-based Access Control

NestJS Guards enforce vendor-scoped data access, ensuring each vendor can only view and action their own orders.

Typed ORM with Migrations

MikroORM entities are the single source of truth. Schema migrations are versioned and run on deploy inside Docker.

Stack

Technologies used

NestJS · Next.js · React · TypeScript · MySQL · MikroORM · Stripe · Shopify Admin API · Xero API · AWS SQS · AWS S3 · BullMQ · DigitalOcean VPS · Docker · Nginx

Need a similar system?

Let's scope your integration and automation requirements.

Discuss your project