Shopify GraphQL Design Tutorial
This tutorial was originally created by Shopify for internal purposes. We've created a public version of it since we think it's useful to anyone creating a GraphQL API.
It's based on lessons learned from creating and evolving production schemas at Shopify over almost 3 years. The tutorial has evolved and will continue to change in the future so nothing is set in stone.
We believe these design guidelines work in most cases. They may not all work for you. Even within the company we still question them and have exceptions since most rules can't apply 100% of the time. So don't just blindly copy and implement all of them. Pick and choose which ones make sense for you and your use cases.
Read the full tutorial here. It's also been translated by the community into a few other languages.
Contributing
Contributions are welcome; however, this tutorial reflects rules specific to Shopify and any substantial changes to those will primarily happen internally and not through external contributions.
Corrections and additional translations are welcome in the lang
folder.
Code of Conduct
Anyone who wishes to contribute through code or issues, take a look at the CODE_OF_CONDUCT.md.
License
MIT, see LICENSE for details.