/graphql-engine-heroku

Blazing fast, instant realtime GraphQL APIs on Postgres with fine grained access control, also trigger webhooks on database events.

Primary LanguageDockerfile

Hasura GraphQL Engine on Heroku

GitHub stars

Hasura GraphQL Engine is a blazing-fast GraphQL server that gives you ⚡ instant, realtime GraphQL APIs over Postgres, with webhook triggers on database events for asynchronous business logic.

Hasura helps you build GraphQL apps backed by Postgres or incrementally move to GraphQL for existing applications using Postgres.

Deploy Hasura GraphQL Engine on Heroku and get a GraphQL endpoint in under 30 seconds 🕐

Read more at hasura.io and the docs.

Quickstart

1. Deploy to Heroku

Deploy to Heroku and instantly get a realtime GraphQL API backed by Heroku Postgres:

Deploy to Heroku

Create New App - Heroku

2. Open Hasura Console

Once the deployment is complete, click on the View button as marked above. This will take you to the Hasura Console, where you can connect your database, create a table and make your first GraphQL query.

Hasura Console

3. Connect a database

Head to the Data tab on the console and connect your database. If you do not have an existing database, you can connect to the Heroku Postgres database that was set up with your deployment using the DATABASE_URL env var.

heroku_connect_db

4. Create a table

Navigate to Data -> Create table on the console and create a table called profile with the following columns:

name type
id Integer (auto-increment)
name Text

Choose id as the Primary key and click the Create button.

Hasura Console - Create table

5. Insert sample data

Once the table is created, go to the Insert Row tab and insert some sample rows:

Thor
Iron Man
Hulk
Captain America
Black Widow

Hasura Console - Insert rows

6. Try out GraphQL

Switch to the GraphiQL tab on top and execute the following GraphQL query:

query {
  profile {
    id
    name
  }
}

Hasura Console - GraphQL query

Support & Troubleshooting

Feel free to talk to us on Discord about anything and everything. You can also contact us using one of the following channels:

Next steps

Further reading