PrintAura — Full-Stack Print-on-Demand Platform Case Study
Project Summary
PrintAura is a production-grade, full-stack print-on-demand fulfillment platform built entirely from scratch over 18 months by a single developer. The platform manages the complete lifecycle of custom-printed apparel and merchandise — from merchant onboarding and product creation through multi-channel e-commerce integration, order processing, payment collection, production coordination, shipping, and delivery tracking.
Built on .NET 10 with Blazor Server, the application serves both merchant-facing dashboards and a comprehensive admin back-office, all powered by custom-built integration libraries, real-time operational tooling, and a robust financial ledger system.
The Challenge
PrintAura needed a modern platform to replace its legacy infrastructure — one that could:
- Support multiple e-commerce channels (Shopify, WooCommerce, Etsy) with deep, real-time integration
- Provide merchants with intuitive self-service product creation, catalog management, and order tracking
- Give operations staff a full-featured admin suite for order fulfillment, financial oversight, and production management
- Process real payments through multiple providers with wallet-based prepayment and auto-pay capabilities
- Scale reliably with structured logging, activity auditing, and operational dashboards
The entire platform had to be built without relying on third-party SDK wrappers for any of the major integrations — ensuring complete control over performance, error handling, and domain-specific business logic.
Technology Stack
| Layer | Technology |
|---|---|
| Framework | .NET 10 / C# 14 |
| UI | Blazor Server with interactive components |
| Database | MySQL via Entity Framework Core with IDbContextFactory |
| Payments | Stripe (Embedded Checkout + Payment Intents) and PayPal |
| Shipping | ShipStation (ShipEngine v2) for label generation and rate calculation |
| E-Commerce | Custom Shopify GraphQL, WooCommerce REST, and Etsy REST client libraries |
| Infrastructure | Google Cloud Storage for media assets, environment-aware configuration |
| Observability | Structured logging, activity event tracking, server log viewer |
Multi-Channel E-Commerce Integrations
A cornerstone of the platform is its three fully custom integration libraries, each built without third-party SDKs:
Shopify — Custom GraphQL Client
A purpose-built GraphQL transport layer communicates directly with Shopify's Admin API (version 2026-01). The integration includes:
- A 47,000+ line strongly-typed C# schema mirroring the full Shopify Admin GraphQL surface
- Per-shop rate limiting with a predictive leaky-bucket throttle manager calibrated by real API responses
- Complete OAuth 2.0 flow with HMAC webhook validation and automatic reauthorization detection
- Full product lifecycle management — creation via
productSet, incremental variant sync, media upload pipelines with retry logic, and auto-publish to the Online Store - Fulfillment order processing — acceptance, fulfillment creation with tracking, and inventory activation at the PrintAura fulfillment location
- Webhook-driven automation — idempotent processing with MySQL advisory locks to prevent duplicate order creation
WooCommerce — Custom REST Client
A custom HTTP transport layer supports WooCommerce REST API v3 with:
- Dual authentication — transparent fallback from Basic Auth to query-parameter credentials for hosts that reject the
Authorizationheader - Automatic auth-health tracking — 401/403 responses flag channels for reauthorization; successful calls clear the state
- Product creation, incremental variant sync, and SKU-based variant linking
- Webhook lifecycle management with legacy endpoint cleanup and per-topic deduplication
Etsy — Custom REST Client with ShipStation
A custom OAuth 2.0 PKCE client integrates with Etsy Open API v3, complemented by a ShipStation (ShipEngine v2) integration for shipping-label access:
- Automatic token refresh with expiry-skew detection and refresh-token lifecycle management
- Receipt-driven order ingestion with monetary conversion (cents to decimal), address normalization, and payment verification
- Background order synchronization — a
BackgroundServicepolls for new receipts on a 30-minute cycle with concurrent channel processing - ShipStation label generation — multi-package rate calculation with carrier-specific handling (UPS multi-package vs. USPS per-package splitting)
Payment Processing
The platform supports two payment providers, each deeply integrated into the merchant wallet and order lifecycle:
Stripe Integration
- Embedded Checkout — Stripe's embedded checkout component is used for seamless wallet funding directly within the Blazor UI
- Payment Intents API — server-side payment intent creation with webhook-driven confirmation ensures reliable payment capture
- Webhook processing — Stripe webhook endpoints handle
checkout.session.completedand payment confirmation events, automatically crediting merchant wallets - Auto-Pay — merchants can enable automatic payment for incoming orders, drawing from their wallet balance
PayPal Integration
- PayPal Orders API — server-side order creation and capture for wallet deposits
- Return/cancel flow — dedicated endpoints handle PayPal redirect callbacks after approval or cancellation
- Wallet crediting — successful PayPal payments are recorded as merchant transactions and reflected in real-time balance displays
Merchant Wallet & Ledger
Every merchant store maintains a transaction-based financial ledger:
- Credits (deposits via Stripe or PayPal), debits (order payments), and manual admin adjustments
- Real-time balance calculation with WIP (work-in-progress) tracking for unpaid active orders
- Admin account adjustment tool — operations staff can apply manual credits or charges with timestamped activity logging
- Liabilities report — a dedicated admin dashboard aggregates store balances and WIP across all merchants, with sortable columns and CSV export
Merchant Dashboard
Product Creation & Management
Merchants have full control over their product catalog through an intuitive creation and editing workflow:
- Catalog-driven product builder — merchants select a base product (brand + style), then customize with their own print images, mockup images, product names, SKUs, descriptions, and tags
- Per-location image assignment — print and mockup images are assigned per print location (front, back, etc.) with preview, enlarge, and delete capabilities
- Color/size variant management — toggle colors on or off, set per-variant pricing, and manage SKUs across the full option matrix
- Heat transfer support — optional heat transfer overlays can be toggled per location with automatic cost calculation
- Production method selection — admin-configurable DTG vs. DTF production methods with per-location pricing overrides
- Auto-hold orders — products can be flagged to automatically hold any order containing them, enabling artwork review before production
Manual Order Entry
A comprehensive manual order creation tool enables merchants and operations staff to build orders directly:
- Dual product source — browse the full product catalog or select from the merchant's existing product library
- Favorites system — frequently used catalog items can be starred for quick access
- Category and brand filtering — chip-based category selection with search and brand dropdown for catalog navigation
- Smart address paste — AI-powered address parsing extracts structured shipping data from pasted text
- Branding options — per-line options for label removal, individual bagging with size stickers, and hang tags
- Real-time pricing — order totals recalculate dynamically as lines, shipping methods, and options change
- Local pickup support — eligible stores can select local pickup to waive shipping costs
Mockup Generation Tool
A browser-based mockup editor enables merchants to composite print designs onto product photography:
- Brand/product/color selection — hierarchical dropdowns load available mockup templates dynamically
- Per-location editing — each print location (front, back, sleeve) has independent transform state
- Canvas-based preview — HTML5 canvas with pointer drag, opacity, rotation, and scale sliders for real-time positioning
- Image library integration — merchants select print images from their uploaded library
- Batch save & download — mockups are rendered server-side across all selected colors and locations, then saved to the merchant's file library or downloaded as a batch
Administration Suite
Order Management
The admin back-office provides deep operational control over the entire order pipeline:
- Order list with status filters — view all orders, or filter by unpaid, active, shipped, or cancelled status
- Search by order number — instant lookup by internal ID or external order number with automatic navigation
- Tracker integration — one-click XML submission to the production tracker with idempotency bypass for admin resubmissions
- Order detail view — full order breakdown including line items with print/mockup images, per-location file downloads, branding options, heat transfers, address editing, tracking entry, and ship/cancel actions
- Order duplication — create a new manual order pre-populated from an existing order's shipping address and/or line items
- Admin order release — force-release held orders with automatic payment attempt
- Copy-to-clipboard tracking — inline tracking number copy with visual feedback
Store Configuration
Admin store editing provides granular control over merchant pricing and fulfillment settings:
- Discount engine — two discount models (combined printed-product discount vs. individual product/print overrides) with automatic conflict detection and resolution on save
- Per-variant price overrides — admin can set custom item and print prices for specific product variants, with bulk-edit tools for selected rows
- Shipping discounts — independent percentage-based shipping discount
- Tax exemption — auto-calculated based on address (NY = not exempt, all others = exempt) with manual admin override
- Local pickup — per-store toggle for local pickup eligibility
- Account adjustments — manual credit/charge entry with activity logging
Base Product Administration
Operations staff manage the foundational product catalog that merchants build upon:
- Print location management — create, edit, rename, and drag-to-reorder print locations within location sets
- Size management — create, edit, and reorder sizes with long names and plus-size surcharge configuration
- Category-to-shipping mapping — assign co-pack groups and shipping groups to product categories for fulfillment routing
Reporting & Analytics
A suite of admin reports provides operational and financial visibility:
- Order report — date-range search across all orders with status, piece count, tracking, shipping cost, and total columns
- Liabilities report — aggregated store balances and WIP with sortable columns, color-coded values, totals row, and CSV export
- Shipment report — database shipment records alongside ShipStation API shipments with detail modals, label downloads, and tracking links
- Activity report — filterable activity log with category, severity, service, and text search; expandable rows showing store and user context
Operational Visibility
Activity Event Tracking
Every significant platform action is recorded in a structured activity log system:
- Events are categorized (e.g., Order, Product, Payment, Channel) and severity-leveled (Info, Warning, Error)
- Each event captures the acting user, affected store, remote service, and a descriptive message
- The admin activity report provides paginated, filterable access to the full event stream with real-time store and user name resolution
Server Log Viewer
A built-in server log viewer provides direct access to application log files from within the admin UI:
- Browse and view server log files without SSH or external log aggregation tools
- Enables rapid diagnosis of production issues directly from the administration dashboard
- Complements the structured activity log with raw application-level diagnostics
Notification System
A unified notification service surfaces actionable events to merchants:
- New fulfillment requests, order status changes, and channel health issues appear in the merchant dashboard
- Notification counts update in real-time via Blazor's interactive rendering model
Shipping & Fulfillment
The platform integrates shipping at multiple levels:
- ShipStation (ShipEngine v2) — label creation, rate calculation with multi-package support, and carrier management (USPS, UPS)
- Category-based shipping groups — product categories map to shipping groups and co-pack groups for accurate cost calculation
- Pluggable shipping calculator —
IShippingCalculatorabstraction with automatic fallback to legacy calculation for backward compatibility - Shipment tracking — tracking numbers flow from production through to Shopify/WooCommerce/Etsy and merchant notification emails
- Packing slip generation — printable packing slips accessible from the order detail view
Technical Highlights
| Capability | Detail |
|---|---|
| Single-developer build | Entire platform designed, built, and deployed by one engineer over 18 months |
| Zero third-party SDKs | All Shopify, WooCommerce, and Etsy integrations are purpose-built |
| Real-time UI | Blazor Server with interactive components, toast notifications, and live state updates |
| Financial accuracy | Transaction-based ledger with WIP tracking, multi-provider payment support, and admin audit trail |
| Production resilience | Retry strategies, rate-limit management, auth-health tracking, webhook idempotency, and graceful degradation |
| Observability | Structured logging, activity event tracking, server log viewer, and admin reporting dashboards |
| Security | OAuth 2.0 / PKCE, HMAC webhook validation, CSRF protection, credential isolation per channel |
| Concurrent processing | Background services with semaphore-based overlap prevention and configurable concurrency limits |
Results
PrintAura processes real merchant orders daily across Shopify, WooCommerce, and Etsy storefronts. The platform:
- Eliminated dependency on legacy systems and third-party SDK limitations
- Reduced operational overhead with automated order ingestion, payment processing, and fulfillment tracking
- Empowered merchants with self-service product creation, mockup generation, and real-time order visibility
- Gave operations staff full control through a comprehensive admin suite with financial reporting, order management, and production coordination tools
About the Development
This platform was built by The Pulse, Inc. as a ground-up replacement for PrintAura's legacy infrastructure. Every layer — from database schema and API integrations to business logic, payment processing, and the complete Blazor UI — was designed and implemented by a single senior .NET engineer, demonstrating what's achievable with modern .NET when paired with deep domain expertise and disciplined architecture.
For inquiries about custom platform development, contact support@printaura.com.