All Projects → yamalight → Graffiti

yamalight / Graffiti

Licence: mit
Minimalistic GraphQL framework

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Graffiti

Rest Layer
REST Layer, Go (golang) REST API framework
Stars: ✭ 1,068 (+249.02%)
Mutual labels:  graphql, framework
Dahlia
An opinionated React Framework. [Rename to pea.js]
Stars: ✭ 92 (-69.93%)
Mutual labels:  graphql, framework
Best Of Web Python
🏆 A ranked list of awesome python libraries for web development. Updated weekly.
Stars: ✭ 1,118 (+265.36%)
Mutual labels:  graphql, framework
Orionjs
A new framework for serverside GraphQL apps
Stars: ✭ 35 (-88.56%)
Mutual labels:  graphql, framework
Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (-38.56%)
Mutual labels:  graphql, framework
Ever
Ever® - Open-Source Commerce Platform for On-Demand Economy and Digital Marketplaces
Stars: ✭ 980 (+220.26%)
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 (-69.93%)
Mutual labels:  graphql, framework
Graphene
GraphQL framework for Python
Stars: ✭ 6,964 (+2175.82%)
Mutual labels:  graphql, framework
Vendure
A headless GraphQL ecommerce framework for the modern web
Stars: ✭ 2,961 (+867.65%)
Mutual labels:  graphql, framework
Server
Framework NodeJS for GraphQl
Stars: ✭ 118 (-61.44%)
Mutual labels:  graphql, framework
Turbulette
😴 Turbulette - A batteries-included framework to build high performance, fully async GraphQL APIs
Stars: ✭ 29 (-90.52%)
Mutual labels:  graphql, framework
Cms
Club Management System of amFOSS, powered by CMS
Stars: ✭ 263 (-14.05%)
Mutual labels:  graphql, framework
Recife
A powerful MVC Framework for GraphQL
Stars: ✭ 20 (-93.46%)
Mutual labels:  graphql, framework
Mvvmrecurve
MVVM框架, 这个架构支持RestFul风格的Api和GraphQL,你可以根据自身需求添加recurve-retrofit2-support库(RestFul)或recurve-apollo-support库(GraphQL)实现相应的支持。 该架构同时使用纯Kotlin开发,但是你也可以在Java中使用它。
Stars: ✭ 51 (-83.33%)
Mutual labels:  graphql, framework
Api Platform
Create REST and GraphQL APIs, scaffold Jamstack webapps, stream changes in real-time.
Stars: ✭ 7,144 (+2234.64%)
Mutual labels:  graphql, framework
App
Reusable framework for micro services & command line tools
Stars: ✭ 66 (-78.43%)
Mutual labels:  graphql, framework
Vesper
Vesper is a NodeJS framework that helps you to create scalable, maintainable, extensible, declarative and fast GraphQL-based server applications.
Stars: ✭ 576 (+88.24%)
Mutual labels:  graphql, framework
Graphql Framework Experiment
Code-First Type-Safe GraphQL Framework
Stars: ✭ 698 (+128.1%)
Mutual labels:  graphql, framework
Formql
FormQL - A framework for building dynamic forms in Angular
Stars: ✭ 110 (-64.05%)
Mutual labels:  graphql, framework
Grial
A Node.js framework for creating GraphQL API servers easily and without a lot of boilerplate.
Stars: ✭ 194 (-36.6%)
Mutual labels:  graphql, framework
Exoframe

Graffiti.js is a minimalistic GraphQL framework

How to use

Install it:

$ npm install graffiti --save

After that, the file-system is the main API. Every .js file becomes a schema definition that gets automatically processed and converted to GraphQL API.

Populate ./schema/note.js inside your project:

// export new Mongoose.js schema definition
exports.schema = {
  name: String,
  body: String,
  // NOTE: Mongoose model names will always be capitalized versions of your filenames
  group: { type: 'ObjectId', ref: 'Collection' },
};

and /schema/collection.js:

exports.schema = {
  name: String,
};

and then just run graffiti dev and go to http://localhost:3000/playground

So far, you get:

  • Automatic creation of GraphQL APIs
  • Automatic relations between types (when using ObjectId as type)
  • Access to GraphQL playground (in development mode)
  • Way to add manual resolvers or GraphQL methods
  • Way to setup manual complex relations
  • Automatic app reload on schema changes (in development mode)
  • Extensibility via third-party plugins

Requirements

Graffiti assumes you have:

  • MongoDB v4.0+ (easiest way is to start one using docker: docker run --name mongodb -p 27017:27017 -d mongo)
  • Node.js v14.8+

How it works

Graffiti.js is built on top of fastify, graphql-compose and Mongoose.
Graffiti is heavily inspired by awesome Next.js and is mostly there to remove the need to write boilerplate code yourself.

You can find detailed documentation in ./docs folder.

You can also find more examples in ./examples folder.

Special thanks

A huge thank you to:

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