graphql-engine/community/sample-apps/realtime-location-tracking
2019-01-29 13:10:53 +05:30
..
hasura refactor community content and folder structure (#1353) 2019-01-17 15:57:28 +05:30
public refactor community content and folder structure (#1353) 2019-01-17 15:57:28 +05:30
src remove the usage of spread operator in setState (#1490) 2019-01-29 13:10:53 +05:30
.env refactor community content and folder structure (#1353) 2019-01-17 15:57:28 +05:30
.gitignore refactor community content and folder structure (#1353) 2019-01-17 15:57:28 +05:30
Dockerfile refactor community content and folder structure (#1353) 2019-01-17 15:57:28 +05:30
package.json refactor community content and folder structure (#1353) 2019-01-17 15:57:28 +05:30
README.md refactor community content and folder structure (#1353) 2019-01-17 15:57:28 +05:30

realtime-location-app

A demo application to showcase real-time capabilities of Hasura GraphQL Engine.

The Realtime location application is built using React and is powered by Hasura GraphQL Engine over Postgres. It has an interface for users to track location of a vehicle using Hasura live queries, in real-time.

The application makes use of Hasura GraphQL Engine's real-time capabilities using subscription. There is no backend code involved. The application is hosted on GitHub pages and the Postgres+GraphQL Engine is running on Postgres.

Running the app yourself

  • Deploy Postgres and GraphQL Engine on Heroku:

    Deploy to
heroku

  • Get the Heroku app URL (say realtime-backend2.herokuapp.com)

  • Clone this repo:

    git clone https://github.com/hasura/graphql-engine
    cd graphql-engine/community/sample-apps/realtime-location-tracking
    
  • Install Hasura CLI

  • Goto hasura/ and edit config.yaml:

    endpoint: https://realtime-backend2.herokuapp.com
    
  • Apply the migrations:

    hasura migrate apply
    
  • Edit HASURA_GRAPHQL_URL in src/constants.js and set it to the Heroku app URL:

    export const HASURA_GRAPHQL_URL = 'realtime-backend2.herokuapp.com/v1alpha1/graphql';
    
  • Run the app (go to the root of the repo):

    npm start