Skip to content

UI

Target Architecture — Final-State Design

This page describes the final-state user surfaces of the Marketplace Platform. The UI is delivered as Blazor micro-frontends hosted in the Factory Studio shell (Blazor.ShellTemplate + Blazor.Mfe.* family), consuming the public APIs and reacting to marketplace events for live status.

The Marketplace exposes two primary surfaces: the Marketplace Install Center for consumers (engineers and agents-with-a-human-in-the-loop) and the Publisher Portal for producers. Both are micro-frontends in the Factory Studio shell, authenticated through the factory authorization server, and tenant-scoped.

Surface map

flowchart TB
    Shell["Factory Studio Shell"] --> Install["Marketplace Install Center MFE"]
    Shell --> Portal["Publisher Portal MFE"]
    Install -->|"GET /marketplace/assets"| Catalog["Catalog & Search APIs"]
    Install -->|"POST .../install"| InstallApi["Installation API"]
    Install -->|"POST .../compatibility/evaluate"| CompatApi["Compatibility API"]
    Portal -->|"POST /marketplace/assets"| PublishApi["Publishing API"]
    Portal -->|"GET /marketplace/publishers/{id}"| PublisherApi["Publisher API"]
    Install -. live status .-> Events["Marketplace events"]
    Portal -. live status .-> Events
Hold "Alt" / "Option" to enable pan & zoom

Marketplace Install Center

The consumer-facing surface for discovering, evaluating, and installing assets.

Key views

  • Discover / Browse — faceted catalog across the nine asset types (SaaS Blueprints, Agent Packs, Template Packs, Library Packs, Integration Packs, Prompt Packs, Policy Packs, Dashboard Packs, Industry Packs), with search, filters (type, publisher, rating, compatibility), and ranking driven by MarketplaceSearchService.
  • Asset Detail — description, versions, release notes, dependency declarations, ratings/reviews, pricing plan, and a Compatibility panel that calls POST /marketplace/assets/{assetId}/compatibility/evaluate against the selected target project before install.
  • Install — a guided install dialog showing the resolved dependency graph, license/pricing summary, target project/environment, and a live progress timeline reflecting the installation state machine (Requested → Evaluating → Resolving → LicenseCheck → Applying → Installed).
  • My Installations — per-project inventory of installed assets, versions, provenance (requestedBy, traceId), update availability, and uninstall/rollback actions.
  • Reviews — submit a rating/review (gated on a verified install) and read aggregated feedback.

UX principles — compatibility and licensing are surfaced before install so failures are prevented rather than reported; every install shows full provenance; agent-initiated installs appear in the same timeline with their task- correlation so humans can audit autonomous activity.

Publisher Portal

The producer-facing surface for onboarding, publishing, and managing a portfolio.

Key views

  • Publisher Onboarding — registration, verification status (Unverified → Pending → Verified), trust tier, and signing-key management (key references in Azure Key Vault; the portal never displays secret material).
  • Publish Asset — create an asset (type, metadata, tags, pricing plan) via POST /marketplace/assets, then upload and release versions via POST /marketplace/assets/{assetId}/versions, with a live view of the publishing flow (staging → quality scan → policy gate → sign → release → indexed).
  • Quality & Findings — the AssetQualityScanned verdict and findings for each submission, with remediation guidance for rejected submissions.
  • Portfolio Analytics — installs, active licenses, ratings, and reputation score per asset, sourced from catalog, commerce, and review signals.
  • Pricing & Plans — define and publish PricingPlans (Free, Flat, PerSeat, Usage) integrated with ConnectSoft.Extensions.Saas.Billing and metering.
  • Version Management — release, yank, and deprecate versions; view downstream installations affected by a yank.

Cross-cutting UI concerns

  • Authentication & authorization — OAuth2 via the factory authorization server; views are gated by scope (marketplace.read, marketplace.install, marketplace.publish, marketplace.review, marketplace.admin) and tenant role, consistent with Security.
  • Live status — both surfaces subscribe to marketplace events (publish/install progress) for real-time timelines without polling.
  • Accessibility & theming — built on the shared Blazor.ComponentLibraryTemplate design system used across Factory Studio.
  • Traceability — every UI action carries traceId/correlationId so user activity is correlated with backend events and Observability traces.

Continue to APIs, Workflows, and Security.