Sign up for Hasura Newsletter
Loading...

Tutorial & boilerplate setup

For this tutorial, the GraphQL backend and the basic app UI is already ready. Our task will be to convert the "static" UI into a working realtime app.

Clone and run the boilerplate

  1. Clone the learn-graphql repo. Execute the following commands in your terminal:
# make sure git version is >= v2.26
git clone --filter=blob:none --sparse git@github.com:hasura/learn-graphql.git
cd learn-graphql
git sparse-checkout init --cone
git sparse-checkout add tutorials/mobile/react-native-apollo/app-boilerplate
  1. Navigate to the app-boilerplate directory.
cd tutorials/mobile/react-native-apollo/app-boilerplate
  1. Make sure you have expo-cli installed

    • npm install -g expo-cli
  2. Install dependencies and run the app. This will start the development server

    • yarn
    • yarn start
  3. Open this app from your phone using Expo

  4. Signup/login as a user to load the todo app screen

After you login, you should get something like this:

UI after logging in

Load GraphiQL to play with your GraphQL APIs

  1. Head to https://hasura.io/learn/graphql/graphiql?tutorial=react-native
  2. Log in (so that you can test the GraphQL APIs with a valid user token)

This is what you should see after the steps above:

GraphiQL after login

GraphQL Endpoint

We are going to make use of https://hasura.io/learn/graphql endpoint for making our GraphQL requests in the tutorial.

Now, if you want to run your own version of the above GraphQL endpoint, you can do so by following the Hasura Backend tutorial

  • Deploy Hasura Cloud
  • Set up Hasura Backend

Head to Hasura Backend Tutorial and get started with creating your own version.

Did you find this page helpful?
Start with GraphQL on Hasura for Free
  • ArrowBuild apps and APIs 10x faster
  • ArrowBuilt-in authorization and caching
  • Arrow8x more performant than hand-rolled APIs
Promo
footer illustration
Brand logo
© 2024 Hasura Inc. All rights reserved
Github
Titter
Discord
Facebook
Instagram
Youtube
Linkedin