Super Graph

Build web products faster. Instant APIs for your apps

Get an instant high performance GraphQL API for Postgres. No code needed. GraphQL is automatically transformed into efficient database queries.

Get Started, Free, Open Source → Github

Simple

Easy config file, quick to deploy, No code needed. It just works.

High Performance

Compiles your GraphQL into a fast SQL query in realtime.

Built in GO

Built in Go is a language created at Google to build fast and secure web services.

Ruby-on-Rails

Can read Rails cookies and supports rails database conventions.

Serverless

Instant startup for scale to zero environments like Google Cloud Run, App Engine, AWS Lambda

Free and Open Source

Not a VC funded startup. Not even a startup just good old open source code

What is Super Graph?

Super Graph can automatically learn a Postgres database and instantly serve it as a fast and secured GraphQL API. It comes with tools to create a new app and manage it's database. You get it all, a very productive developer and a highly scalable app backend. It's designed to work well on serverless platforms by Google, AWS, Microsoft, etc. The goal is to save you a ton of time and money so you can focus on you're apps core value.

How to use Super Graph?

Use the below command to download and install Super Graph. You will need Go 1.13 or above
‣ GO111MODULE=on go get -u github.com/dosco/super-graph
Create a new app and change to it's directory
‣ super-graph new blog; cd blog
Setup the app database and seed it with fake data. Docker compose will start a Postgres database for your app
‣ docker-compose run blog_api ./super-graph db:setup
And finally launch Super Graph configured for your app
‣ docker-compose up

The story of Super Graph

After working on several products through my career I find that we spend way too much time on building API backends. Most APIs also require constant updating, this costs real time and money.

It's always the same thing, figure out what the UI needs then build an endpoint for it. Most API code involves struggling with an ORM to query a database and mangle the data into a shape that the UI expects to see.

I didn't want to write this code anymore, I wanted the computer to do it. Enter GraphQL, to me it sounded great, but it still required me to write all the same database query code.

Having worked with compilers before I saw this as a compiler problem. Why not build a compiler that converts GraphQL to highly efficient SQL.

This compiler is what sits at the heart of Super Graph with layers of useful functionality around it like authentication, remote joins, rails integration, database migrations and everything else needed for you to build production ready apps with it.

Try it with a demo Rails app

Download the Docker compose config for the demo
‣ curl -L -o demo.yml https://bit.ly/2mq05lW
Setup the demo database
‣ docker-compose -f demo.yml run rails_app rake db:create db:migrate db:seed
Run the demo
‣ docker-compose -f demo.yml up
Signin to the demo app (user1@demo.com / 123456)
‣ open http://localhost:3000
Try the super graph web ui
‣ open http://localhost:8080

GraphQL the future of APIs

Keeping a tight and fast development loop helps you iterate quickly. Leveraging technology like Super Graph focuses your team on building the core product and not reinventing wheels. GraphQL eliminate the dependency on the backend engineering and keeps the things moving fast

Build Secure Apps

Role Based Access Control

Dynamically assign roles like admin, manager or anon to specific users. Generate role specific queries at runtime. For example admins can get all users while others can only fetch their own user.

Prepared Statements

An additional layer of protection from a variety of security issues like SQL injection. In production mode all queries are precompiled into prepared statements so only those can be executed. This also significantly speeds up all queries.

Fuzz Tested Code

Fuzzing is done by complex software that generates massives amounts of random input to detect if code is free of security bugs. Google uses fuzzing to protects everything from their cloud infrastructure to the Chrome browser.

More Features

Remote Joins

A powerful feature that allows you to query your database and remote REST APIs at the same time. For example fetch a user from the DB, his tweets from Twitter and his payments from Stripe with a single GraphQL query.

Full Text Search

Postgres has excellent full-text search built-in. You don't need another expensive service. Super Graph makes it super easy to use with keyword ranking and highlighting also supported.

Bulk Inserts

Efficiently insert, update and delete multiple items with a single query. Upserts are also supported

MIT Licensed | Copyright © 2018-present Vikram Rangnekar