The Apollo docs sports a very complete tutorial, combining TypeScript, GraphQL, and Apollo (of course):
In this tutorial, we’ll build an interactive app for reserving a seat on an upcoming SpaceX launch. Think of it as an Airbnb for space travel! All of the data is real, thanks to the SpaceX-API.
To populate the views, our app’s data graph will connect to two data sources: a REST API and a SQLite database.
As we want this example to resemble a real-world Apollo app, so we’ll also add common useful features like authentication, pagination, and state management.