GraphQL
Adopt
GraphQL is our platform for communication between frontend and the rest of the system.
From the frontend perspective, GraphQL is a single endpoint that provides access to all data in the system. This endpoint is called the federated graph. The federated graph is composed of multiple subgraphs, each of which is provided by a different service. Each service publishes its subgraph to the schema registry.
On the frontend, we use Relay as the GraphQL client. Relay is an opinionated framework that enforces certain conventions on the GraphQL schema. All services that publish a subgraph to the federated graph must follow these conventions.