All Projects → Brbb → Graphql Rover

Brbb / Graphql Rover

Licence: mit
🚀 GraphQL + Vue.js + D3.js schema viewer, powered by introspection.

Programming Languages

javascript
184084 projects - #8 most used programming language
introspection
24 projects

Projects that are alternatives of or similar to Graphql Rover

Neo4j Graphql
An optimized neo4j query resolver for Facebook's GraphQL
Stars: ✭ 60 (-74.9%)
Mutual labels:  graphql, schema
Join Monster Graphql Tools Adapter
Use Join Monster to fetch your data with Apollo Server.
Stars: ✭ 130 (-45.61%)
Mutual labels:  graphql, schema
Shapeshifter
🐺 Generate relational schemas, PropTypes, Flow aliases, and TypeScript interfaces from JSON or GraphQL schematic files.
Stars: ✭ 105 (-56.07%)
Mutual labels:  graphql, schema
Rdbms To Graphql
A Java CLI program that generates a GraphQL schema from a JDBC data source.
Stars: ✭ 44 (-81.59%)
Mutual labels:  graphql, schema
Graphql Toolkit
A set of utils for faster development of GraphQL tools
Stars: ✭ 169 (-29.29%)
Mutual labels:  graphql, schema
Graphql Factory
A toolkit for building GraphQL
Stars: ✭ 44 (-81.59%)
Mutual labels:  graphql, schema
Graphql Schema Registry
GraphQL schema registry
Stars: ✭ 124 (-48.12%)
Mutual labels:  graphql, schema
Graphql Code Generator
A tool for generating code based on a GraphQL schema and GraphQL operations (query/mutation/subscription), with flexible support for custom plugins.
Stars: ✭ 7,993 (+3244.35%)
Mutual labels:  graphql, schema
Countries
🌎 Public GraphQL API for information about countries
Stars: ✭ 156 (-34.73%)
Mutual labels:  graphql, schema
Framework
Strongly-typed JavaScript object with support for validation and error handling.
Stars: ✭ 136 (-43.1%)
Mutual labels:  graphql, schema
Graphql Compose
Toolkit for generating complex GraphQL Schemas on Node.js
Stars: ✭ 947 (+296.23%)
Mutual labels:  graphql, schema
Graphql Parser
A graphql query language and schema definition language parser and formatter for rust
Stars: ✭ 203 (-15.06%)
Mutual labels:  graphql, schema
Joi2gql
Conversion of Joi schemas into GraphQL data types
Stars: ✭ 11 (-95.4%)
Mutual labels:  graphql, schema
Graphql Scalars
A library of custom GraphQL Scalars for creating precise type-safe GraphQL schemas.
Stars: ✭ 1,023 (+328.03%)
Mutual labels:  graphql, schema
Merge Graphql Schemas
A utility library to facilitate merging of modularized GraphQL schemas and resolver objects.
Stars: ✭ 935 (+291.21%)
Mutual labels:  graphql, schema
Postgraphile
GraphQL is a new way of communicating with your server. It eliminates the problems of over- and under-fetching, incorporates strong data types, has built-in introspection, documentation and deprecation capabilities, and is implemented in many programming languages. This all leads to gloriously low-latency user experiences, better developer experiences, and much increased productivity. Because of all this, GraphQL is typically used as a replacement for (or companion to) RESTful API services.
Stars: ✭ 10,967 (+4488.7%)
Mutual labels:  graphql, schema
Coolqlcool
Nextjs server to query websites with GraphQL
Stars: ✭ 623 (+160.67%)
Mutual labels:  graphql, schema
Type Graphql
Create GraphQL schema and resolvers with TypeScript, using classes and decorators!
Stars: ✭ 6,864 (+2771.97%)
Mutual labels:  graphql, schema
Graphql Cli
📟 Command line tool for common GraphQL development workflows
Stars: ✭ 1,814 (+659%)
Mutual labels:  graphql, schema
Conventions
GraphQL Conventions Library for .NET
Stars: ✭ 198 (-17.15%)
Mutual labels:  graphql, schema

GraphQL Rover

Intro

GraphQL Rover is a GraphQL schema viewer.

Generate a navigable representation of the underlying schema through the introspection query, displaying nodes as Vue.js components using D3.js to build the graph.

Check the Demo based on the GraphQL Pokemon API, allow HTTP scripts execution or change the endpoint from the side panel.

Quick start

  1. Setup the endpoint

configure

  1. Re-arrange nodes

drag

  1. Select to zoom and inspect a type or use the search bar

search

Run

Option 1:

git clone the repo anywhere, run locally path-to-graphql-rover/graphql-rover/index.html and follow the quickstart steps. There's no need to keep Rover in the same path of your database, or on a server.

Option 2:

Run as Electron app and follow the quickstart steps:

$ cd graphql-rover/
$ electron .

Option 3

Run the GraphQL Rover.app (OSX electron package only)

Features

  • [x] Endpoint selection and configuration
  • [ ] Save configuration (locally/remotely)
  • [x] Drag nodes
  • [x] Pan & Zoom
  • [x] Zoom on selection
  • [x] Navigate clicking on Type-links inside the node or the documentation panel
  • [x] Type Documentation
  • [x] Type & field search
  • [x] Type & field filter for a cleaner graph
  • [x] Interface / Enumerable / Types easy identification
  • [x] Relationships edges with UML-like semantic
  • [x] Configure GraphQL endpoint
  • [x] No code to write (but a module/library could be interesting)
  • [ ] Offline schema (paste introspection result + libraries included)
  • [ ] Electron app

Tech Stack

Rover is built with pure javascript libraries to avoid mixed or language-to-javascript solutions:

  • GraphQL: the introspection query is actually what is really used by Rover to get the schema topology. On further releases it could be possible to query the data of the selected type.
  • Dagre-d3: basically the core of the graph schema building system, replaces graphviz and offers a pure javascript alternative.
  • Vue.js + Vuex + Element: D3 nodes require a html label, and Vue can easily provide a template adaptable to any type retrieved. Vuex stores data and manages the state while Element provides a pleasant UI library.

Electron

An OS X electron app exists, but currently it's not complete. The bundle will be released as soon as possible with a Windows and Linux package.

To-Dos

  • [ ] Single edge with double arrowhead to limit the number of lines and improve readability
  • [ ] NPM module
  • [x] Live Demo
  • [ ] Test Test Test Test
  • [ ] CI
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].