/howtographql

The Fullstack Tutorial for GraphQL

Primary LanguageTypeScriptMIT LicenseMIT

How to GraphQL 🎓

How to GraphQL is a fullstack tutorial website to learn all about GraphQL! It was built by Prisma and many amazing contributors. All content on the site is completely free and open-source.

Note: This repository is currently mostly unmaintained. We are looking for maintainers who can help cleaning up issues and PRs opened by the community. If you are interested in helping out, please reach out!

Content

The content for all tutorials is located in the /content directory. Here is an overview of all the tutorials that are available at the moment:

GraphQL

  • Fundamentals of GraphQL
  • Advanced GraphQL

Frontend

  • React & Apollo
  • React & Relay
  • Vue & Apollo (Out of date)
  • Ember & Apollo (Out of date)
  • Expo & Apollo (Coming Soon)
  • Angular & Apollo (Coming Soon)
  • VulcanJS (Coming Soon)

Backend

  • Prisma
  • graphql-js / JavaScript
  • Absinthe / Elixir
  • graphql-ruby / Ruby
  • graphql-java / Java
  • Graphene / Python
  • gqlgen / Go
  • Sangria / Scala (Coming Soon)

Contributions / Fixes

As the whole project is open-source, you're more than welcome to fix typos and other small issues yourself and create a PR for the fix. If you want to contribute a whole tutorial track or update one of the out of date tutorials please get in touch.

Installation & Running locally

The project has some native (gyp) dependencies. To get this running, please make sure your environment it set with the following:

  1. Make sure to install a Node version manager (either fnm or nvm)
  2. Point your environment to the version specified in .nvmrc.
  3. Make sure to load .env to your environment variables (some shell loads it automatically, but if not, you can do: source .env to load it)

You can run a local instance of How to GraphQL by executing the following commands in a terminal:

git clone git@github.com:howtographql/howtographql.git
cd howtographql
yarn install
yarn start # http://localhost:8000/

Note: If you're using Node 8, you might need to invoke npm install -g node-gyp before you're starting the app. More info here.

Troubleshooting

If you are having issues with sharp dependency, please make sure you have installed >0.18.2 of it. Older versions have hardcoded dependency on a legacy artifactory.

To check the version you have, run: yarn why sharp.

If you are still having issues, please make sure that you have SHARP_DIST_BASE_URL environemnt variable set correctly (see .env file) and then run yarn install again.