Skip to content

mikeroyal/GraphQL-Guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation


GraphQL Guide

A guide covering GraphQL including the APIs, Libraries and Tools that will make you a better and more efficient GraphQL developer.

Note: You can easily convert this markdown file to a PDF in VSCode using this handy extension Markdown PDF.


GraphQL Learning Resources

GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.

Learning GraphQL

GraphQL Community

GraphQL Landscape

GraphQL Foundation

GitHub GraphQL API

GraphQL Supported Programming Languages

GraphQL Code Tools

GraphQL Services

Top GraphQL Courses on Udemy

Learning GraphQL Online Classes on LinkedIn Learning

GraphQL Tutorials on Dgraph

GraphQL Training Courses on NobleProg

GraphQL: The Big Picture Course on Pluralsight

Building Scalable APIs with GraphQL on Pluralsight

Consuming a GraphQL API with Apollo Client and React on Pluralsight

Exploring GraphQL: A Query Language for APIs on edX

GraphQL Tool, Libraries, and Frameworks

GraphQL CLI is a command line tool for common GraphQL development workflows.

GraphQL Tools is a set of utils for faster development of GraphQL tools (Schema and documents loading, Schema merging and more).

GraphQL Inspector is a tool that compares schemas, validate documents, find breaking changes, find similar types, schema coverage, and more.

GraphQL Mesh is a tool that allows you to use GraphQL query language to access data in remote APIs that don't run GraphQL (and also ones that do run GraphQL). It can be used as a gateway to other services, or run as a local GraphQL schema that aggregates data from remote APIs.

GraphQL Scalars is a library of custom GraphQL scalar types for creating precise, type-safe GraphQL schemas.

GraphQL Modules is a lets you separate your backend implementation to small, reusable, easy-to-implement and easy-to-test pieces.

GraphQL Config is a tool that deos one configuration for all your GraphQL tools (supported by most tools, editors & IDEs).

GraphQLShield is a tool that helps you create a permission layer for your application. Using an intuitive rule-API, you'll gain the power of the shield engine on every request and reduce the load time of every request with smart caching. This way you can make sure your application will remain quick, and no internal data will be exposed.

GraphQL Request is a simple and flexible JavaScript GraphQL client that works in all JavaScript environments (the browser, Node.js, and React Native) - basically a lightweight wrapper around fetch.

Gatsby is a free and open source framework based on React that helps developers build blazing fast websites and apps.

Dgraph is a native GraphQL graph database that is built to be distributed. This makes it highly scalable, performant, and blazingly fast - even for complex queries over terabytes of data.

GraphQL.js is a general-purpose library and can be used both in a Node server and in the browser. As an example, the GraphiQL tool is built with GraphQL.js. So building a project using GraphQL.js with webpack or rollup should just work and only include the portions of the library you use.

urql is a GraphQL client that exposes a set of helpers for several frameworks. It's built to be highly customisable and versatile so you can take it from getting started with your first GraphQL project all the way to building complex apps and experimenting with GraphQL clients.

React Starter Kit is an isomorphic web app boilerplate for web development built on top of Node.js, Express, GraphQL and React, containing modern web development tools such as Webpack, Babel and Browsersync. Helping you to stay productive following the best practices.

React Hook Form is a performant, flexible and extensible forms with easy to use validation(Web + React Native).

Apollo Client is a fully-featured caching GraphQL client with integrations for React, Angular, and more. It allows you to easily build UI components that fetch data via GraphQL.

Relay is Facebook's framework for building React applications that talk to a GraphQL backend.

Strapi is an open source Node.js Headless CMS to easily build customisable APIs.

Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.

Hasura GraphQL Engine is a blazing-fast GraphQL server that gives you instant, realtime GraphQL APIs over Postgres, with webhook triggers on database events, and remote schemas for business logic.

Nest is a framework for building efficient, scalable Node.js server-side applications. It uses modern JavaScript, is built with TypeScript (preserves compatibility with pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming).

PostGraphile is a tool that builds a powerful, extensible and performant GraphQL API from a PostgreSQL schema in seconds; saving you weeks if not months of development time.

Meteor is an ultra-simple environment for building modern web applications with JavavScript.

mysqljs is a pure node.js JavaScript Client implementing the MySQL protocol.

axios is a promise based HTTP client for the browser and node.js.

Lokka simple JavaScript GraphQL client that works in all JavaScript environments (the browser, Node.js, and React Native).

Storybook is a development environment for UI components. It allows you to browse a component library, view the different states of each component, and interactively develop and test components.It works with React, Vue, Angular, Ember, and other web frameworks.

Next.js is a React Framework for production gives you the best developer experience with all the features needed for production such as hybrid static & server rendering, TypeScript support, smart bundling, route pre-fetching, and more.

React Boilerplate is a highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.

TypeORM is an ORM that can run in NodeJS, Browser, Cordova, PhoneGap, Ionic, React Native, NativeScript, Expo, and Electron platforms and can be used with TypeScript and JavaScript (ES5, ES6, ES7, ES8).

Enzyme is a JavaScript Testing utility for React that makes it easier to test your React Components' output. The user can also manipulate, traverse, and in some ways simulate runtime given the output.

RxDB is a NoSQL-database for JavaScript Applications like Websites, hybrid Apps, Electron-Apps, Progressive Web Apps and NodeJs.

Redux is a predictable state container for JavaScript apps.

Inferno is an insanely fast, React-like library for building high-performance user interfaces on both the client and server.

Expo is an open-source platform for making universal native apps with React.

React Native Windows is a ramework for building native Windows apps with React. React Native is a framework developed by Facebook that enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React.

ReactiveUI is a composable, cross-platform model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming, which is a paradigm that allows you to abstract mutable state away from your user interfaces and express the idea around a feature in one readable place and improve the testability of your application.

Ant Design is an enterprise-class UI design language and React UI library.

Material-UI is a collection of React components for faster and simpler web development.

Chakra UI is a set of accessible, reusable, and composable React components that make it super easy to create websites and apps.

Contribute

  • If would you like to contribute to this guide simply make a Pull Request.

License

Distributed under the Creative Commons Attribution 4.0 International (CC BY 4.0) Public License.