Multi-Brand SaaS Architecture for Iriscopy & Iris Graphic
Unifying print services and complex reprographic workflows via high-speed interactive portals backed by a centralized NestJS core API and high-availability MySQL storage.
Engineering Specs
1. The Scenario: Divergent Business Models under One Hood
Our partner's multi-tier printing operations faced severe administrative drag. They managed two entirely separate customer-facing portfolios, each calling for divergent user experiences and inventory workflows:
B2C Fast Self-Service
Hosted at iriscopyshop.app, tailored for rapid standard PDF uploads, custom black/color binding adjustments, and hassle-free instant bank checkout.
B2B Heavy Graphic Configs
Hosted at app.iris-graphic.com, designed for high-end catalog custom-printing ordering (brochures, custom bounding rollers, books, posters) with explicit metadata tracking.
Gonseclabs was tasked to develop a single, performant **Web-to-Print API backend (iris-api)** to act as the single source of truth for both channels, orchestrate price variations, automate WooCommerce synchronization, and power an internal real-time queue dispatcher for production operators.
2. Real-Time Network & Data Architecture
Rather than adopting a complex, fragile monolith structure, we built a fully isolated client-server network inside lightweight Docker configurations:
[Self-Service B2C] ---> (iriscopyshop.app) --------\
\
[Custom Printing] ---> (app.iris-graphic.com) ------+---> [NestJS API Core (3001)] ---> [MySQL 8]
/ | (TypeORM)
[Operator Desk] ---> Angular Admin Dashboard ---/ +---> [Rust Sidecar]
(Mass Color Analysis)
|
+---> Sync (WooCommerce)
- NestJS Microservice API: Written in clean TypeScript and running on Node 22, managing secure Redsys payments, JWT authentication, user accounts, and fulfillment location queries out of the box.
- WooCommerce Live Inventory Linker: A custom-designed connector mapping product options and category price rules to and from the core WordPress database cleanly using asynchronous background workers.
- Operator backoffice engine ("iris-order"): Provides real-time print status tracking across physical facilities via reactive WebSocket channels.
3. Measurable Technical Impact
By separating frontend delivery from core business logic, Iriscopy and Iris Graphic now process thousands of school-season print orders daily with absolute stability, 100% database consistency, and minimal human oversight.