Skip to content

hasura/data-dictionary

Repository files navigation

Hasura Data Dictionary


Introduction

The Data Dictionary is a set of tools which allow users and organizations to explore & collaborate on their data.

There are two pieces to the Data Dictionary:

  1. A GraphQL endpoint that provides information on Hasura Metadata and the Database schema
  2. A client-side layer which consumes this API to provide the visualization of that data

In this repository, there is a Next.js reference application which showcases bringing these pieces together. You can use this reference application as the base for building your own tooling, or use just the GraphQL service, or whichever bits-and-pieces you might prefer.

Demo

Architecture

At a high-level, here are some of the tools and libraries used to build this experience:

The folder structure of the application and descriptions is as below:

├── hasura // Contains docker-compose.yaml to run PG + Hasura, and migrations + seeds for Chinook
└── react-app // Contains Next.js app with frontend web app and backend GraphQL API

Setup Instructions

  • Clone this repo
  • cd hasura, then docker-compose up -d
    • This exposes Hasura on localhost:8085 and Postgres is on localhost:5430 (to not conflict with potential other running apps)
    • Hasura has the Chinook schema + rows as a migration, along with the Metadata, and uses the .cli-migrations variant so it will auto-apply these for you
  • From the root of the project
    • cd react-app
    • yarn install or npm install
    • yarn dev or npm run dev
    • This starts Next.js on localhost:3000
    • It contains the GraphQL API under the /pages/api/graphql.ts
    • GraphQL Playground is available at localhost:3000/api/graphql

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published