All Projects → graphqlize → Graphqlize

graphqlize / Graphqlize

Licence: epl-2.0
A Clojure & JVM library for developing GraphQL API instantly from Postgres and MySQL databases

Programming Languages

java
68154 projects - #9 most used programming language
clojure
4091 projects
ring
36 projects

Projects that are alternatives of or similar to Graphqlize

Graphjin
GraphJin - Build APIs in 5 minutes with GraphQL. An instant GraphQL to SQL compiler.
Stars: ✭ 1,264 (+426.67%)
Mutual labels:  graphql, graphql-server, mysql, postgresql
Directus
Open-Source Data Platform 🐰 — Directus wraps any SQL database with a real-time GraphQL+REST API and an intuitive app for non-technical users.
Stars: ✭ 13,190 (+5395.83%)
Mutual labels:  graphql, mysql, postgresql
Graphql Stack
A visual explanation of how the various tools in the GraphQL ecosystem fit together.
Stars: ✭ 117 (-51.25%)
Mutual labels:  graphql, graphql-server, graphql-api
Storefront Api
Storefront GraphQL API Gateway. Modular architecture. ElasticSearch included. Works great with Magento1, Magento2, Spree, OpenCart, Pimcore and custom backends
Stars: ✭ 180 (-25%)
Mutual labels:  graphql, graphql-server, graphql-api
Xgenecloud
XgeneCloud is now https://github.com/nocodb/nocodb
Stars: ✭ 1,629 (+578.75%)
Mutual labels:  graphql-server, mysql, postgresql
Next
Directus is a real-time API and App dashboard for managing SQL database content. 🐰
Stars: ✭ 111 (-53.75%)
Mutual labels:  graphql, mysql, postgresql
Pop
Monorepo of the PoP project, including: a server-side component model in PHP, a GraphQL server, a GraphQL API plugin for WordPress, and a website builder
Stars: ✭ 160 (-33.33%)
Mutual labels:  graphql, graphql-server, graphql-api
Rest And Graphql
⚡️ Highly scalable REST API codebase with GraphQL layer on its ⚡️
Stars: ✭ 55 (-77.08%)
Mutual labels:  graphql-server, graphql-api, mysql
Gqlify
[NOT MAINTAINED]An API integration framework using GraphQL
Stars: ✭ 182 (-24.17%)
Mutual labels:  graphql, graphql-server, graphql-api
Graphql Spqr Spring Boot Starter
Spring Boot 2 starter powered by GraphQL SPQR
Stars: ✭ 187 (-22.08%)
Mutual labels:  graphql, graphql-server, graphql-api
Grial
A Node.js framework for creating GraphQL API servers easily and without a lot of boilerplate.
Stars: ✭ 194 (-19.17%)
Mutual labels:  graphql, graphql-server, graphql-api
Spring Boot 2.x Examples
Spring Boot 2.x code examples
Stars: ✭ 104 (-56.67%)
Mutual labels:  mysql, postgresql, spring-boot
Express Graphql Boilerplate
Express GraphQL API with JWT Authentication and support for sqlite, mysql, and postgresql
Stars: ✭ 201 (-16.25%)
Mutual labels:  graphql, mysql, postgresql
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 (+4469.58%)
Mutual labels:  graphql, graphql-api, postgresql
Daptin
Daptin - Backend As A Service - GraphQL/JSON-API Headless CMS
Stars: ✭ 1,195 (+397.92%)
Mutual labels:  graphql, graphql-server, graphql-api
Hangzhou Graphql Party
杭州 GraphQLParty 往期记录(slide,照片,预告,视频等)
Stars: ✭ 142 (-40.83%)
Mutual labels:  graphql, graphql-server, graphql-api
Docs4dev
后端开发常用框架文档及中文翻译,包含 Spring 系列文档(Spring, Spring Boot, Spring Cloud, Spring Security, Spring Session),大数据(Apache Hive, HBase, Apache Flume),日志(Log4j2, Logback),Http Server(NGINX,Apache),Python,数据库(OpenTSDB,MySQL,PostgreSQL)等最新官方文档以及对应的中文翻译。
Stars: ✭ 974 (+305.83%)
Mutual labels:  mysql, postgresql, spring-boot
Graphql
Haskell GraphQL implementation
Stars: ✭ 36 (-85%)
Mutual labels:  graphql, graphql-server, graphql-api
Graphql2rest
GraphQL to REST converter: automatically generate a RESTful API from your existing GraphQL API
Stars: ✭ 181 (-24.58%)
Mutual labels:  graphql, graphql-server, graphql-api
Rails Devise Graphql
A Rails 6 boilerplate to create your next Saas product. Preloaded with graphQL, devise, JWT, CanCanCan, RailsAdmin, Rubocop, Rspec, i18n and more.
Stars: ✭ 199 (-17.08%)
Mutual labels:  graphql, graphql-server, graphql-api

GraphQLize

GraphQLize, an open-source Clojure (JVM) library for developing GraphQL API instantly from your existing PostgreSQL and MySQL databases.

It aims to simplify the effort required to expose GraphQL APIs over relational databases.

Clojars Project

GraphQLize is at its early stages now. The objective of this early release is to get early feedback from the community. It is not production-ready yet!

Rationale

In the JVM ecosystem, developing GraphQL APIs to expose the data from the relational databases requires a lot of manual work. Right from defining the GraphQL schemas (either code-first or schema-first) to wiring them with resolvers and the database access logic, we spend a significant amount of our development time.

In addition to this, we also need to take care of optimizing the underlying SQL queries to avoid problems like N+1 queries. We have to account the maintenance of the resulting codebase as well!

GraphQLize will help you to overcome all these shortcomings. It provides you with an efficient GraphQL implementation in just few lines of code.

What is GraphQLize?

GraphQLize is a JVM library written in Clojure with Java interoperability. The crux of GraphQLize is generating the GraphQL schema and resolving the queries by making use of JDBC metadata provided by the JDBC drivers.

It currently supports Postgres (9.4 & above) and MySQL (8.0 & above).

Getting Started

Getting started with GraphQLize is simple and involves only a few steps.

  1. Add the GraphQLize dependency in your project.
  2. Initialize GraphQLize Resolver by providing the Java SQL data source.
  3. Add a GraphQL API endpoint and use the initialized GraphQlize Resolver in the previous step.

The actual implementation of these steps will vary based on which language (Java, Clojure) and framework (Spring Boot, Spark Java, Pedestal, etc.). Please refer the below links for more details.

Langauge Framework(s)
Java Spring Boot, Spark Java, Vanilla Java
Kotlin Spring Boot, Ktor
Clojure Pedestal, Ring, Vanilla Clojure
Scala Scalatra

Is It Production Ready?

It will be in a few months.

The objective of this alpha release is to get early feedback from the community.

There are close to forty issues that I am planning to work on in the upcoming months to make it production ready.

You can keep track of the progress by

How can I contribute?

GraphQLize is at its early stage now, and the codebase and the APIs are not stable yet.

So, at this instant, the best way to contribute is to initiate a chat in GraphQLize's Discord channel or raise a GitHub issue with all the relevant details, and we'll take it from there.

Oracle & SQL Server Support

One of the design goal of GraphQLize from day one is to support Postgres, MySQL, Oracle & MS SQL Server. To start with, I am focussing on getting it to a production ready state for Postgres & MySQL. After accomplishing this, I will be focusing on the other two.

Acknowledgements

PostgREST, PostGraphile, KeyStoneJs and Hasura are the inspiration behind GraphQLize.

GraphQLize is not possible without the following excellent Clojure libraries.

The samples in the documentation of GraphQLize uses the Sakila database from JOOQ extensively.

License

The use and distribution terms for this software are covered by the Eclipse Public License - v 2.0. By using this software in any fashion, you are agreeing to be bound by the terms of this license.

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].