Giter VIP home page Giter VIP logo

graphql-birdseye's Introduction



View any GraphQL schema as a dynamic and interactive graph.
Try it out now: http://birdseye.novvum.io/

NPM JavaScript Style Guide

Description

Birdseye is an interactive tool that dynamically displays GraphQL schemas. It helps teams visualize and understand the nodes and connections within their schema. Birdseye was built using jointJS and makes for a lightweight addition to any React project.

Features

  1. Graphical view of any GraphQL schema
  2. Ability to click on a field or type to view its connections
  3. Dynamic zooming to focus on small portions of the schema at a time
  4. Add to any React project
  5. Customizable styling and themeing

Background

Birdseye was inspired by GraphQL Voyager and the Apis-guru team. We found that Voyager would add 1.2 MB to our projects, which was too big for us. This motivated us to create Birdseye, which has a bundle size of less than 200 KB. Birdseye is open source and free to use and explore.

Installation

Install using NPM or yarn

NPM
npm install --save graphql-birdseye
Yarn
yarn add graphql-birdseye

Usage

Here’s an example of how to use Birdseye in a React project. See the API Reference for how to pass your schema to the component.

import * as React from 'react';

import GraphqlBirdseye from 'graphql-birdseye';

class Example extends React.Component {
  render() {
    return (
      <GraphqlBirdseye
        introspectionQuery={dummySchema.data}
        style={{ height: "100vh" }}
      />
    );
  }
}

Try this example in code sandbox:

Edit graphql-birdseye-demo

You can also download and test the code for our demo site in the example folder in the repository.

API

Name Type Description
introspectionQuery JSON object Pass your schema as a JSON of an introspection query response. Use this introspection query to return your schema as a GraphQL schema object.
schema GraphQL schema object Pass your schema as a GraphQL schema object. Return using makeExecutableSchema from GraphQL tools.
style object Pass in an object to style the container
theme object An object defining the theme of the components. Theme objects should follow the type defined here. Here's a full example.

Roadmap

We have plans to keep improving Birdseye. Here's what is next:

  1. Improve performance for larger schemas
  2. Option to toggle zoom navigation style
  3. Smoother UI transitions and interactions

Contributing

This is an open source project. To learn how to contribute, please check out our contributing guide.

License

MIT © Novvum


Made with ❤️ by Novvum

graphql-birdseye's People

Contributors

rohit-ravikoti avatar allicolyer avatar trevheath avatar davidyaha avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.