Skip to content

ADR-0007: Blazor micro-frontend (MFE) for the Studio

Decision

This page records a decision and its status. A Proposed decision is not binding; an Accepted decision is binding on the Factory until amended or superseded.

  • Status: Accepted
  • Date: 2026-01-01
  • Deciders: Frontend Architect, UX Lead
  • Tags: frontend, studio, ui

Reviewed 2026-10-09 — retained as direction, clarified

  • Disposition: retain the Blazor Shell/MFE direction.
  • Verified: no Studio, BFF or design-system repository exists. The Studio exists as 41 HTML prototype exports in ConnectSoft.DesignPrototypes (React-rendered fixtures, zero backend calls; 48 declared Factory destinations, 15 with dedicated views) and as documentation. ConnectSoft.Blazor.Mfe.AIChatTemplate registers a mock AI service unconditionally. 23 ConnectSoft.Blazor.* repositories (shell, MFE, component, UIKit templates) exist as foundations.
  • Clarification: the 13 MFEs and 8 BFFs described in Studio pages are Target; a first slice needs neither. MAUI for mobile is a statement of intent with no Factory evidence.
  • Provenance: Date is the 2026-06-17 bulk-commit value.

Context

The Factory Studio is the primary human surface, composed of many independently evolving modules (dashboards, orchestration manager, knowledge base, observability, governance). It needs independent module delivery, a shared design system, and tight integration with the .NET backend and identity model.

Decision

Build the Studio as a Blazor micro-frontend (MFE) architecture: each Studio module is an independently developable/deployable micro-frontend composed into the shell, sharing a common design system and auth context. Mobile surfaces use MAUI where native apps are required.

Consequences

Positive

  • One language/stack (.NET) across backend and frontend; shared models and auth.
  • Independent module delivery and team ownership; consistent design system.

Negative / trade-offs

  • MFE composition and versioning complexity; shared shell contract to maintain.

Neutral

  • BFF APIs mediate between Studio modules and platform services.

Alternatives considered

Alternative Why not chosen
SPA framework (React/Angular) Splits the stack from the .NET backend; duplicates models and tooling.
Single monolithic Blazor app Couples module release cadences; harder to scale teams.