graphitejs / Server
Licence: mit
Framework NodeJS for GraphQl
Stars: ✭ 118
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Server
Grial
A Node.js framework for creating GraphQL API servers easily and without a lot of boilerplate.
Stars: ✭ 194 (+64.41%)
Mutual labels: graphql, graphql-server, framework
Api Platform
Create REST and GraphQL APIs, scaffold Jamstack webapps, stream changes in real-time.
Stars: ✭ 7,144 (+5954.24%)
Mutual labels: graphql, graphql-server, framework
Spikenail
A GraphQL Framework for Node.js
Stars: ✭ 358 (+203.39%)
Mutual labels: graphql, graphql-server, framework
Turbulette
😴 Turbulette - A batteries-included framework to build high performance, fully async GraphQL APIs
Stars: ✭ 29 (-75.42%)
Mutual labels: graphql, graphql-server, framework
Framework
.NET Core Extensions and Helper NuGet packages.
Stars: ✭ 399 (+238.14%)
Mutual labels: graphql, graphql-server, framework
Orionjs
A new framework for serverside GraphQL apps
Stars: ✭ 35 (-70.34%)
Mutual labels: graphql, graphql-server, framework
Daptin
Daptin - Backend As A Service - GraphQL/JSON-API Headless CMS
Stars: ✭ 1,195 (+912.71%)
Mutual labels: graphql, graphql-server
Graphql Transform Schema
Transform, filter & alias resolvers of a GraphQL schema
Stars: ✭ 84 (-28.81%)
Mutual labels: graphql, graphql-server
Ariadne
Ariadne is a Python library for implementing GraphQL servers using schema-first approach.
Stars: ✭ 1,274 (+979.66%)
Mutual labels: graphql, graphql-server
Dahlia
An opinionated React Framework. [Rename to pea.js]
Stars: ✭ 92 (-22.03%)
Mutual labels: graphql, framework
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 (-50%)
Mutual labels: graphql, graphql-server
Graphql Log
Add logging to your GraphQL resolvers so you know what's going on in your app.
Stars: ✭ 94 (-20.34%)
Mutual labels: graphql, graphql-server
Apollo Server Vercel
⚫ Production-ready Node.js GraphQL server for Vercel Serverless Functions
Stars: ✭ 69 (-41.53%)
Mutual labels: graphql, graphql-server
App
Reusable framework for micro services & command line tools
Stars: ✭ 66 (-44.07%)
Mutual labels: graphql, framework
Graphjin
GraphJin - Build APIs in 5 minutes with GraphQL. An instant GraphQL to SQL compiler.
Stars: ✭ 1,264 (+971.19%)
Mutual labels: graphql, graphql-server
Best Of Web Python
🏆 A ranked list of awesome python libraries for web development. Updated weekly.
Stars: ✭ 1,118 (+847.46%)
Mutual labels: graphql, framework
Uvicorn Gunicorn Starlette Docker
Docker image with Uvicorn managed by Gunicorn for high-performance Starlette web applications in Python 3.7 and 3.6 with performance auto-tuning. Optionally with Alpine Linux.
Stars: ✭ 92 (-22.03%)
Mutual labels: graphql, framework
Formql
FormQL - A framework for building dynamic forms in Angular
Stars: ✭ 110 (-6.78%)
Mutual labels: graphql, framework
Firebase Functions Graphql Example
GraphQL server running on Cloud Functions for Firebase
Stars: ✭ 107 (-9.32%)
Mutual labels: graphql, graphql-server
Framework NodeJS for GraphQl
GraphiteJS is a NODE.JS Framework for building GraphQL schemas/types fast, easily and with scalability.
- Easy to use: GraphiteJS make easy GraphQL in NodeJS without effort.
- Any Front: GraphiteJS support any front library.
- Data agnostic: GraphiteJS supports any kind of data source.
Guide
Install
npm i @graphite/server --save
yarn add @graphite/server
on your index file:
import { Graphite } from '@graphite/server'
main = async () => {
const graphite = await Graphite()
}
main()
and that's all, you have running the graphqli tool on the port 4000 by default.
How to use
After install @graphite/server
you have to create your first model. We recommend creating a folder called models and follow the pattern matching the filename with the Type name.
Types
import { GraphQL } from '@graphite/server'
export const Developer = GraphQL('Developer')({
// the value always have to be an array first arg is the type, the second arg is an optional comment
name: ['String!', 'Your name is required'],
age: ['Int'],
isGreatDeveloper: ['Boolean']
})
So, now you need to pass this model to the Graphite Server
on index.js
import { Graphite } from '@graphite/server'
import { Developer } from './models/Developer'
main = async () => {
await Graphite({ models: [Developer] })
}
main()
Queries
import { GraphQL } from '@graphite/server'
export const Developer = GraphQL('Developer')({
name: ['String!', 'Your name is required'],
age: ['Int'],
isGreatDeveloper: ['Boolean'],
Query: {
'developer: Developer': () => ({ name: 'Your name' }),
'developers: [Developer]': () => ([{ name: 'Your name' }]),
}
})
Mutations
import { GraphQL } from '@graphite/server'
export const Developer = GraphQL('Developer')({
name: ['String!', 'Your name is required'],
Mutation: {
'createDeveloper(name: String): Developer': (_, { name, }) => ({ name }),
'updateDeveloper(id: ID!, name: String): Developer': (_, { name }) => ({ name }),
'removeDeveloper(id: ID!): Developer': (_, { name }) => ({ name }),
},
})
Subscriptions
import { GraphQL, PubSub } from '@graphite/server'
const pubsub = new PubSub()
const DEVELOPER_ADDED = 'DEVELOPER_ADDED'
export const Developer = GraphQL('Developer')({
name: ['String!', 'Your name is required'],
Mutation: {
'createDeveloper(name: String): Developer': (_, { name, }) => {
pubsub.publish(DEVELOPER_ADDED, { developerAdded: { name } })
return { name }
},
},
Subscription: {
'developerAdded: Developer': {
subscribe: () => pubsub.asyncIterator([DEVELOPER_ADDED]),
},
},
})
Relations
// models/Repository.js
const Repository = GraphQL('Repository')({
name: ['String'],
url: ['String'],
})
// models/GithubProfile.js
const GithubProfile = GraphQL('GithubProfile')({
url: ['String'],
})
// models/Developer.js
const Developer = GraphQL('Developer')({
name: ['String'],
'respositories: [Repository]': () => [{ name: 'GraphiteJS', url: 'https://github.com/graphitejs/graphitejs' }],
'githubProfile: GithubProfile': () => ({ url: 'https://github.com/wzalazar' }),
Query: {
'developer: Developer': () => ({ name: 'Walter Zalazar' }),
},
})
So, now you need to pass this model to the Graphite Server
on index.js
import { Graphite } from '@graphite/server'
import { Developer } from './models/Developer'
import { Repository } from './models/Repository'
import { GithubProfile } from './models/GithubProfile'
main = async () => {
await Graphite({ models: [Developer, Repository, GithubProfile] })
}
main()
Contributing
Please see our contributing.md
- Clone this repository.
- Install dependencies.
npm install
- Feel free for pull request.
Team
Creator
Walter Zalazar |
@wzalazar |
🐦 @wzalazar_ |
Core members
Walter Zalazar | José Luis Casella |
@wzalazar | @jl-casella |
🐦@wzalazar_ | @jl-casella |
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].