Convert Pre-Existing Databases to GraphQL in under a minute
Clone or download
Latest commit 98b4723 Jan 16, 2019

README.md

TentaQL

TentaQL is a fully automated tool for GraphQL data-abstraction-layer creation, with built-in support for PostgreSQL, Mongo, and MySQL. By visiting our easy-to-use browser-based site -- no complicated logins required, just a simple database URI -- TentaQL introspects schematic data and assembles a lightweight zip package for running a tailor-made GraphQL sandbox environment with the user's database. The zip comes complete with core CRUD query/mutation functionality and support for complex relationships, all while leveraging GraphiQL, an industry-leading visualization tool. For more experienced users, TentaQL also offers in-browser editing to further customize queries/mutations/subscriptions prior to download.

How it works

Paste your database address in the URL box, and click "Convert your DB". (Note: If running your Database locally, please use your IP address as 'host' and allow all remote connections)

InitialGIF

Your database is converted to GraphQL language. You should now see the schema.

Scrolled Gif

You can use tabs located above the code editor to switch the view between schema and resolvers. You can also:

  • download converted files by clicking on "Download Original Zip"
  • edit schema or resolvers and download edited files by clicking on "Download Edited Zip"
  • reset schema or resolvers to it's original state by clicking on "Reset Tab" or reset schema and resolvers by clicking on "Reset All"
  • copy current tab view by clicking the "Copy" button

Once downloaded, unzip the package, cd into the directory, then run:

npm install

npm run start

finalGif

Example GraphQL server created for MySQL:

NPM start

As soon as the server starts, a localhost will automatically launch in the browser using GraphiQL. Now you can start querying your Database!

Making a Query on the GraphiQL interface:

GraphiQL Query

Why choose TentaQL?

While there are currently several fantastic providers offering similar schema-introspection for legacy databases -- notably, Prisma and Postgraphile -- the initial setup for these services can be prohibitively time-consuming, involving heavy downloads, and a steep learning curve for teams new to the GraphQL environment looking for a simple, speedy experimentation tool for potential migration to GraphQL.

Thank you so much for your time and consideration -- we're currently in Beta, and welcome any feedback / suggestions. Have a great day, and we hope you enjoy wrapping up your databases in TentaQL!

Authors

Anna Brakowska @AnnaBrakowska

Jonathan Schwartz @filmboy3

Jonah Wilkof - @jwilkof

Alan Thompson - @PabloSphere

Technologies used:

  • Redux
  • React
  • Javascript / ES6
  • NodeJS, ExpressJS
  • GraphQL
  • MySQL
  • MongoDB
  • PostgreSQL
  • Codemirror
  • BDD/TDD using Mocha, Chai, Supertest
  • SemanticUI-React
  • Webpack, Babel