Coursera’s educational platform has a broad API surface implemented in a standardized REST framework backed by a distributed microservice architecture. However, one of the biggest challenges engineers face is discovering and assembling the data required to render the UI on both web and mobile clients. To help improve our engineering velocity, we are migrating nearly 100% of our client data access to GraphQL, which provides better API discoverability, well-tested and community supported client libraries, and powerful type-checking and developer tooling. But we’re doing it WITHOUT throwing away our existing backend APIs, architecture, and tools. This talk will describe both how and why we're making every Coursera API available via GraphQL, the key principles that went into developing our API framework, Naptime, and what we've learned along the way.
https://www.meetup.com/graphql-by-the-bay/events/235184302/
23. Problems remained
• There are always going to be edge cases
• Feature prioritization requires careful balance
• Don’t underestimate the power of Googleability