Skip to main content

General

Core exposes a single data graph that provides a unified interface for querying any combination of our back-end services. We make extensive use of Apollo Federation to divide our graph's implementation across multiple back-end microservices (called subgraphs).

Our back-end architecture consists of:

  • api-* projects: A collection of subgraphs (usually represented by different back-end services) that each define a distinct GraphQL schema
  • api-gateway: A gateway that uses a supergraph schema (composed from all subgraph schemas) to execute queries across multiple subgraphs

When implementing back-end projects we encourage you to leverage a design principle called separation of concerns. This enables different teams to work on different products and features within a single data graph, without interfering with each other.