In this workshop, you'll learn how to take your GraphQL API to the next level. We'll take an existing GraphQL API and transform it into a supergraph that's ready to grow and evolve.
Getting started with a supergraph using the GraphOS cloud-hosted router
Using schema checks to make changes safely and confidently
Integrating checks and publishing in local development and CI/CD pipeline
Analyzing and improving supergraph metrics
Adding new features using subgraphs and entities
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 lesson to leave a comment. We're here to help!
You will need the following:
Pre-requisites list
You will also need:
Apollo GraphOS account with Serverless (Free) plan
You'll need an Apollo GraphOS account with the Serverless (Free) plan, to take advantage of the Apollo cloud router. If you have an existing SSO login, this won't work, so please create a new account with a different email.
Cloud-hosted supergraphs are currently only available on the Serverless (Free) or Serverless plan. If you created your Apollo account or a new organization today, you will automatically have access to this plan.
You can check your organization's current plan in Apollo Studio. From your organization's page, go to the Settings tab and scroll down to the Plan and Billing section.
https://studio.apollographql.com
If you are on the legacy Free plan, you will need to convert to the Serverless (Free) plan. Click the Convert to Serverless (Free) button in the top-right corner of your organization's page in Studio.
If you are on the legacy Teams plan, or an Enterprise plan, you won't have access to cloud routing at this time. Create a new organization to continue with the hands-on portions of the workshop.
Task!
The Rover CLI
Rover is Apollo's command line interface (CLI) tool that helps developers work with graphs and interact with GraphOS.
Open up a terminal and run the install command that suits your computer's environment:
Verify that the installation completed successfully by running rover anywhere in the terminal.
If it outputs a list of options and subcommands for using Rover, great! The CLI is installed and ready to go. Next, let's authenticate it with a personal API key.
In GraphOS Studio, click on your profile picture, then Personal Settings.
Click API Keys.
Click Create new key.
https://github.com
Give it a name, like "Local Dev".
Copy your key - you won't be able to see it again!
In a terminal, run:
rover config auth
Then paste in your API key (you won't be able to see it physically in the terminal).
To check if it worked, run:
rover config whoami
And you should see your profile information displayed. You're all set!
A new Railway account comes with $5 worth of credits, which should be enough to work with for the workshop. You can also feel free to use a different hosting platform, like Render or Heroku. We recommend choosing a platform that enables automatic deploys from a GitHub repo.
If you are using a different hosting platform, refer to their documentation. We recommend choosing a platform that enables automatic deploys from a GitHub repo.
Click the button below to start the deploy process ⬇️
Click Deploy now.
https://railway.app
Fill in your repository details: where to clone the repo in your GitHub account and what to name it.
https://railway.app
Railway automatically triggers a new deployment of our app. And after a few minutes, we should see it worked!
https://railway.app
Now we want to query our server at a public URL on the internet. Go to your app's Settings tab, and click the Generate Domain button under the Domains header.
https://railway.app
This will automatically create our production URL. After a few minutes, you should see a page showing that your server is ready to query.
https://railway.app
Task!
Clone the repo locally
Railway automatically added the repo to your GitHub account. Follow the steps below.
To find the repo, head over to your Railway app's Settings, scroll down to Service and find the Source repo link.
https://railway.app
Click the link to find your copy of the GitHub repo.
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!
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!
Task!
Need help?
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 down below to leave a comment. We're here to help.
See you in San Diego!
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.