Site-Targeted BFF Grouping¶
BFFs in this repo should be treated as front-end-targeted contracts.
They are not only domain-specific services. They are shaped for the needs of specific site families and concrete front-end experiences.
Grouping Rule¶
BFF contracts should be understood under each site or site family.
That means:
- ISR-Sites define the BFF contracts needed by ISR marketing properties
- CRUD-Sites will define the BFF contracts needed by operational applications
- Metric-Sites will define the BFF contracts needed by metrics and data experiences
Manifestation Rule¶
Content manifestation typically occurs at the Block level.
Typical sequence:
- metadata selects the page and block structure
- the site-targeted BFF supplies the payload needed for those blocks
- the block manifests the content in the rendered UI
Current Example¶
For ISR-Sites today:
- product blocks hydrate from product-facing BFF contracts
- article blocks hydrate from article-facing BFF contracts
- contact blocks submit and read state through contact-facing BFF contracts