Build a single GraphQL schema that many teams across a company contribute to.
Host business logic directly inside the GraphQL server instead of separate microservices.
Compose reusable logic across teams using re-entrant GraphQL queries.
| airbnb/viaduct | harmony-on-android/hoa | amrdoh/clockmaster | |
|---|---|---|---|
| Stars | 158 | 121 | 102 |
| Language | Kotlin | Kotlin | Kotlin |
| Setup difficulty | moderate | hard | easy |
| Complexity | 4/5 | 5/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Requires Mac OS X or Linux plus a 64-bit JDK 11 or newer and Gradle.
Viaduct is an open-source framework from Airbnb that uses GraphQL as a single, unified access point for all data inside a company. Instead of having dozens of separate APIs for different databases, services, and data stores, Viaduct lets teams expose everything through one connected graph that spans the whole organization. The project is built around three ideas. First, there is one central schema that covers all domains across the company, even though many different teams contribute to and maintain different parts of it. Second, teams write their actual business logic directly inside Viaduct rather than building separate microservices behind it. This makes Viaduct more like a serverless hosting platform for logic than a simple gateway. Third, any piece of logic hosted on Viaduct can call other logic hosted on Viaduct by issuing GraphQL queries internally, which keeps code modular and avoids the tight coupling that causes problems in large codebases over time. Viaduct is described as running in production at Airbnb at scale. The developer API is still under active development, so parts of it may change. The README links to a user manual, a roadmap, and starter example projects for getting up and running. The simplest example runs a single GraphQL query locally using a provided command-line tool and returns a hello-world response. The project is written in Kotlin and uses Gradle for building. It requires JDK 11 or later and runs on Mac or Linux. Packages are published to Maven Central, and a Gradle plugin is available in the Gradle Plugin Portal. The project is open to external contributions and has a contribution guide and a security policy for reporting vulnerabilities.
An open source GraphQL system from Airbnb where teams host their business logic directly on one shared, central schema instead of separate microservices.
Mainly Kotlin. The stack also includes Kotlin, GraphQL, Gradle.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.