* Add Backends For Frontends pattern (#300)
Implements the BFF pattern with two client-specific gateways
(MobileBff, DesktopBff) aggregating shared downstream services
(AuthService, CartService, OrderService, SupplierService) into
client-tailored response shapes.
Closes#300
* Rename SupplierService lookup key to productName for clarity
The service is looked up by product name throughout the codebase, not
an actual product ID as the previous naming implied.
* Address review feedback: remove unnecessary compact constructors, add InMemory* service tests