Easy config file, quick to deploy, No code needed. It just works.
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.
Can read Rails cookies and supports rails database conventions.
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?
How to use Super Graph?
‣ GO111MODULE=on go get -u github.com/dosco/super-graphCreate a new app and change to it's directory
‣ super-graph new blog; cd blogSetup 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:setupAnd finally launch Super Graph configured for your app
‣ docker-compose up
The story of Super Graph
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
‣ curl -L -o demo.yml https://bit.ly/2mq05lWSetup the demo database
‣ docker-compose -f demo.yml run rails_app rake db:create db:migrate db:seedRun the demo
‣ docker-compose -f demo.yml upSignin to the demo app (email@example.com / 123456)
‣ open http://localhost:3000Try 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.
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.
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.
Efficiently insert, update and delete multiple items with a single query. Upserts are also supported