Skip to main content

Faceted architecture

Quartz provides modules organized into three tiers to support the Schneider Electric global scale.

Why modules?

Modular architectures have long-proven benefits in the software engineering domain. The most famous example is the open-source ecosystem, made of millions of shared modules that combine to create larger products.

Modular architectures allow an ecosystem of reusable blocks to grow continuously on a large scale thanks to their loose coupling, while keeping it maintainable by multiple teams.

Following those principles, Quartz Open ecosystem provides several modules organized in three tiers. Each module contains the following:

  • Design assets
  • Development assets
  • Documentation
  • A team of owners/maintainers

The Core team manages the ecosystem governance, working closely with the owners/maintainers of the other modules.

Three tiers

Our modular approach allows aligning the system architecture with the contribution model:

High-level view of the Quartz Open system architecture and contribution model, organized into three tiers: Core, Domains, and Facets.

  • The Core tier is the foundation for everything else. Its modules provide the styles, guidelines, components, and patterns that all products must use.
  • The Applications and Websites domains build on top of the Core. Their modules provide components and patterns shared by all products of the same nature.
  • The Facets build on top of the domains to provide guidelines, patterns, and components tailored for a specialized area.

Benefits

  • Maintain system and brand consistency through a tight collaboration between module owners/maintainers.
  • Core and Domain teams ensure the foundational assets are built with the highest standards.
  • Allow easy and frequent contributions at the Facet level. Facets' primary purpose is to share the best ideas in a place where everyone can look for inspiration and reuse.
  • Modules have decoupled release cycles, allowing faster iterations at the Facet level, while the Core/Domain teams have more time to build robust assets used at a large scale.
  • Promote sharing and co-creation between contributing teams in an organized way.

For further information about contributing to Quartz, visit the Contributor onboarding page.

Core

The Core level contains universal components, patterns, and guidelines for all supported platforms. It is the foundation all products use, enabling large-scale consistency across the company.

The Core tier of the system architecture, managed by the Core team.

It is owned by the Core team, collecting insights from the Domain teams and the community.

Domains

The Domains (Applications and Websites) are built on top of the Core. These modules are high-level areas of specialization used across multiple products with shared navigation, common components, and patterns. It avoids ambiguity on which foundational patterns, components, and styles to use.

Domain modules build on top of the Core foundations. Similarly, Domain contributors closely interact with the Core team.

Domain teams (designers and engineers from product teams) maintain their domain foundation libraries and ensure the consistency of their domain scope. They work closely with the Core team to ensure global system consistency.

Facets

The Facets are built on top of the Domains. They contain specialized assets and guidelines for a smaller area. Facets may contribute elements to the larger Domain and Core levels as they mature.

Facets build on top of the Domain foundations. Similarly, Facet contributors closely interact with the Domain team.

Facet contributors (designers and engineers from product teams) maintain their facet libraries. They work closely with the Domain team to ensure domain-level consistency.