1 min read

What is BFC?

Backend for Client, BFC, is Poq's adaptation of Backend for Frontend (BFF) pattern initially described by Soundcloud (you can also read about it here and here). In essence it is a pattern where a Backend API is tightly coupled with a specific Frontend. This allows for customizing and rolling out both FE and BE changes way more easily than in an approach where either a Monolithic API or Microservices serve multiple frontends due to reduced complexity of the overall solution. A BFF is tightly coupled to a specific Frontend user experience, and typically is maintained by the same team as the Frontend and this makes it easier to define and adapt the API as the UI requires while also simplifying the process of lining up releases of both the client and server components.

Backend for client diagram 1
Backend for client diagram 1

In Poq's context by “Frontend” we mean a specific Client's or Customer's applications for both IOS and Android, for ex: Client “A” will have BFC API based on Magento SDK that will be serving request for both IOS and Android apps, while Client “B” will have BFC API based on Sfcc SDK serving requests for corresponding apps. As a result the term Backend For Frontend is adapted to be Backend For Client in our context.

Backend for client diagram 2
Backend for client diagram 2

We provide integrations with eCommerce systems (SFCC, Shopify & Magento 2), 3rd Party retail services and Poq platform services as libraries or SDKs that we can plug as a package into the BFC API. This again helps in flexibility to customize as required.As a result our final BFF adaptation looks as follows:

Backend for client diagram 3
Backend for client diagram 3

See Next