Skip to content

Introduction

Blindstrader is a B2B supply-chain platform for the window covering industry. It connects Brands (fabric and component manufacturers), Suppliers (made-to-measure fabricators), and Retailers (customer-facing storefronts) in a structured three-tier flow.

The Three Account Types

Accounts in Blindstrader are mutually exclusive — each organisation is one of:

TypeExamplesCore role
BrandLouvolite, Coulisse, Top Window CoveringFabric/component manufacturers. Own the verified master catalog.
SupplierCassidy, Stewarton, BlindluxMade-to-measure fabricators. Import Brand catalogs, add pricing, sell to retailers.
RetailerNewblindsCustomer-facing stores. Adopt supplier products, process end-customer orders.

The Three-Tier Supply Chain

Brand  ──────►  Supplier  ──────►  Retailer  ──────►  End Customer
(master catalog)  (pricing + fab)   (storefront)      (purchase)
  1. Brand creates a verified master catalog (fabrics, blind types, components).
  2. Supplier connects to a Brand, imports the catalog with their own markup/pricing, and fabricates finished blind products.
  3. Retailer connects to a Supplier, adopts the product catalog, sets retail pricing, and serves end customers.
  4. Customer places an order on the retailer storefront — the payment is automatically split across Brand / Supplier / Retailer / Platform via Stripe Connect.

Key Concepts

Verification Chain

The Brand's "blue tick" verification propagates downstream automatically:

  • brand_fabrics.brand_verified = true — set by the Brand in their tenant database.
  • supplier_products.is_brand_verified — computed from the imported Brand catalog.
  • retailer_products.brand_verification_status — one of fully, partial, or none depending on what components are verified.

Database-per-Tenant Isolation

Every Brand, Supplier, and Retailer organisation gets its own dedicated MySQL database:

Tenant typeDatabase naming
Brandblindstrader_brand_{slug}
Supplierblindstrader_supplier_{slug}
Retailerblindstrader_retailer_{slug}

This means one tenant's data is never co-mingled with another's, and a spike in one tenant's traffic does not affect others.

Event-Driven Communication

Services communicate asynchronously via Apache Kafka. When a Brand updates their catalog, a BrandCatalogUpdated event is published; downstream Suppliers consume it and can opt in to sync the changes. No service calls another service's HTTP endpoints for business logic — only the event bus.

Microservices at a Glance

ServiceResponsibilityDefault port
IdentitySSO auth, RBAC, partner discovery8001
BrandBrand tenant federation, catalog management8002
SupplierSupplier operations, inventory, fulfillment8003
Supply ChainOrder orchestration, fulfillment rules8004
PaymentStripe Connect split payments, ledgers8005
RetailerCustomer storefronts, catalog overrides8006
Platform OpsBilling, analytics, system administration8007
NotificationEmail, SMS, Slack alerts8008

Next Steps

Blindstrader Platform Documentation