All Projects → status-im → nim-graphql

status-im / nim-graphql

Licence: Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHEv2 MIT LICENSE-MIT
Nim implementation of GraphQL with sugar and steroids

Programming Languages

nim
578 projects
CodeQL
11 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to nim-graphql

character-overlay
Web App for adding an OBS overlay with character information such as name, picture, and health for your favorite role-playing game.
Stars: ✭ 17 (-63.83%)
Mutual labels:  graphql-client, graphql-server
protoc-gen-twirpql
Generate A GraphQL Layer from A Twirp Server: https://twirpql.dev
Stars: ✭ 49 (+4.26%)
Mutual labels:  graphql-client, graphql-server
Caliban
Functional GraphQL library for Scala
Stars: ✭ 581 (+1136.17%)
Mutual labels:  graphql-client, graphql-server
showcase
A Full Stack Journey with Micro Services and Micro Front Ends. Using dapr, kubernetes, react module federation and web assembly,
Stars: ✭ 45 (-4.26%)
Mutual labels:  graphql-client, graphql-server
Gqlify
[NOT MAINTAINED]An API integration framework using GraphQL
Stars: ✭ 182 (+287.23%)
Mutual labels:  graphql-client, graphql-server
Altair
✨⚡️ A beautiful feature-rich GraphQL Client for all platforms.
Stars: ✭ 3,827 (+8042.55%)
Mutual labels:  graphql-client, graphql-server
Graphql Kotlin
Libraries for running GraphQL in Kotlin
Stars: ✭ 1,030 (+2091.49%)
Mutual labels:  graphql-client, graphql-server
fullstack-graphql-angular
Simple Fullstack GraphQL Application with Angular CLI + Redux. API built with Typescript + Express + GraphQL + Sequelize (supports MySQL, Postgres, Sqlite and MSSQL). WebApp built with Angular CLI + Redux + Async Middleware to access the API.
Stars: ✭ 67 (+42.55%)
Mutual labels:  graphql-client, graphql-server
Graphql Stack
A visual explanation of how the various tools in the GraphQL ecosystem fit together.
Stars: ✭ 117 (+148.94%)
Mutual labels:  graphql-client, graphql-server
Qlens
QLens is an electron app which dynamically generates GraphQL Schemas and Mongo Schema visualization. QLens significantly cuts development time by automating the formation of their GraphQL schemas based on information fetched from their non-relational database.
Stars: ✭ 110 (+134.04%)
Mutual labels:  graphql-client, graphql-server
Morpheus Graphql
Haskell GraphQL Api, Client and Tools
Stars: ✭ 285 (+506.38%)
Mutual labels:  graphql-client, graphql-server
36 Graphql Concepts
📜 36 concepts every GraphQL developer should know.
Stars: ✭ 209 (+344.68%)
Mutual labels:  graphql-client, graphql-server
Messenger
Open source, native iOS Messenger, with realtime chat conversations (full offline support).
Stars: ✭ 4,264 (+8972.34%)
Mutual labels:  graphql-client, graphql-server
Pup
The Ultimate Boilerplate for Products.
Stars: ✭ 563 (+1097.87%)
Mutual labels:  graphql-client, graphql-server
relay-compiler-plus
Custom relay compiler which supports persisted queries
Stars: ✭ 68 (+44.68%)
Mutual labels:  graphql-client, graphql-server
Fullstack Graphql
🌈 Simple Fullstack GraphQL Application. API built with Express + GraphQL + Sequelize (supports MySQL, Postgres, Sqlite and MSSQL). WebApp built with React + Redux to access the API. Written in ES6 using Babel + Webpack.
Stars: ✭ 955 (+1931.91%)
Mutual labels:  graphql-client, graphql-server
Locksmith
Want to use GraphQL with Clojure/script but don't want keBab or snake_keys everywhere? Use locksmith to change all the keys!
Stars: ✭ 59 (+25.53%)
Mutual labels:  graphql-client, graphql-server
Hotchocolate
Welcome to the home of the Hot Chocolate GraphQL server for .NET, the Strawberry Shake GraphQL client for .NET and Banana Cake Pop the awesome Monaco based GraphQL IDE.
Stars: ✭ 3,009 (+6302.13%)
Mutual labels:  graphql-client, graphql-server
DotNetGraphQL
A sample demonstrating how to create a GraphQL Backend in .NET and consume it from a .NET mobile app created using Xamarin
Stars: ✭ 78 (+65.96%)
Mutual labels:  graphql-client, graphql-server
graphql-server-typescript
GraphQL + MongoDB express server with JWT authorization (in Typescript!)
Stars: ✭ 48 (+2.13%)
Mutual labels:  graphql-server

nim-graphql

GraphQL Logo

License: Apache License: MIT Github action

Introduction

Enjoy writing graphql service in plain Nim!. You decide when to use more syntactic sugars offered by Nim templates. And you can choose whether you want to use macros or not, we don't impose them to you.

Designed from ground up to be easily tested part by part, you can quickly implement your service while writing a comprehensive test suite for it.

You can choose which transport mechanism to deliver your service. Over http or secure-http, websocket or secure-websocket, ipc or rpc, rawsocket, and OS stdin/stdout. Not all of these mechanisms provided by nim-graphql, but the freedom is there.

Documentation

If you are interested in contributing to nim-graphql development, the official specification is here.

If you want to know how to use nim-graphql or how nim-graphql works, the documentation is available here.

Playground

You can play with our playground graphql http server using graphql client such as Altair GraphQL client or using builtin graphiql user interface.

  • Using Starwars schema/api.
$ nimble starwars

or

$ nim c -r playground/swserver starwars
  • Using Ethereum schema/api.
$ nimble ethereum

or

$ nim c -r playground/swserver ethereum

To run the playground server with docker, you can execute this commands:

$ docker build -t graphql .
$ docker run -p 8547:8547 -t graphql

The server is accessible at this address http://127.0.0.1:8547/graphql and the web user interface at http://127.0.0.1:8547/graphql/ui.

Installation

You can use Nim's official package manager Nimble to install nim-graphql:

$ nimble install https://github.com/status-im/nim-graphql.git

or

$ nimble install graphql

Contributing

When submitting pull requests, please add test cases for any new features or fixes and make sure nimble test is still able to execute the entire test suite successfully.

License

Licensed and distributed under either of

or

at your option. These files may not be copied, modified, or distributed except according to those terms.

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