Thoughtfully design your schema to support data access requirements for the client apps that will query it. In this workshop, we'll explore what makes for an excellent schema design and how a "dream query" can be reverse-engineered into a scalable and maintainable GraphQL schema that supports client use cases.
What you'll learn
- An understanding of common schema design strategies
- Apollo's recommended approach to schema design, the "dream query" strategy
- Practical tips for leveraging GraphQL's type system to create an expressive and intuitive API
- Practical tips for obtaining an evolvable schema such as naming conventions, documentation, nullability, abstract types and deprecation
- Setting up schema linting and linter checks for consistency
Who this workshop is for
- API developers with a basic familiarity of GraphQL.
⚠️ Before the workshop...
If you have any questions or run into any issues with the workshop prep, send us an email at summit@apollographql.com. You can also hop on to the Apollo Discord group in the #summit-workshops channel, or scroll to the end of the page to leave a comment. We're here to help!
You will need the following:
You will also need:
Clone the repo locally
Clone the repo
git clone TODOOpen it up in your code editor.
Run
npm install
in a terminal.Run
npm run dev
. This starts up the server in development mode, which means changes you make in your files will automatically restart the server. If all goes well, when you open up http://localhost:4001, you should see Sandbox Explorer! Feel free to play around with the schema if you're curious, but we'll go over it at the workshop!
Share your questions and comments about this lesson
Your feedback helps us improve! If you're stuck or confused, let us know and we'll help you out. All comments are public and must follow the Apollo Code of Conduct. Note that comments that have been resolved or addressed may be removed.
You'll need a GitHub account to post below. Don't have one? Post in our Odyssey forum instead.