{"id":13565804,"url":"https://github.com/FormidableLabs/gql-workshop-app","last_synced_at":"2025-04-03T23:30:34.988Z","repository":{"id":66030440,"uuid":"123293093","full_name":"FormidableLabs/gql-workshop-app","owner":"FormidableLabs","description":"Real World GraphQL","archived":true,"fork":false,"pushed_at":"2020-10-12T13:54:21.000Z","size":592,"stargazers_count":31,"open_issues_count":0,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-04T19:42:12.359Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FormidableLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-02-28T14:03:12.000Z","updated_at":"2024-10-28T16:00:08.000Z","dependencies_parsed_at":"2023-03-10T23:31:24.332Z","dependency_job_id":null,"html_url":"https://github.com/FormidableLabs/gql-workshop-app","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FormidableLabs%2Fgql-workshop-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FormidableLabs%2Fgql-workshop-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FormidableLabs%2Fgql-workshop-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FormidableLabs%2Fgql-workshop-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FormidableLabs","download_url":"https://codeload.github.com/FormidableLabs/gql-workshop-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247097586,"owners_count":20883121,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T13:01:55.773Z","updated_at":"2025-04-03T23:30:34.251Z","avatar_url":"https://github.com/FormidableLabs.png","language":"JavaScript","readme":"# Real World GraphQL Workshop\n\nThis is a workshop repo to teach you about GraphQL.\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n**Table of Contents**\n\n- [Topics covered](#topics-covered)\n- [Branches \u0026 Tags](#branches--tags)\n- [System Requirements](#system-requirements)\n- [Setup](#setup)\n- [Running the app](#running-the-app)\n- [About the app](#about-the-app)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Topics covered\n\n**Server**\n  1. Schema Definition Language\n  2. GraphQL types\n  3. Resolvers\n  4. Enums\n  5. Scalars\n  6. DataLoader\n  7. Mutations\n\n**Apollo Client**\n  1. Basic queries\n  2. Fragments\n  3. Pagination\n  4. Auth\n  5. Mutations\n\nThere is way more that we _could_ cover, time permitting, but this is broadly what we'll be focussing on. Depending on the flow of the day, we may have more or less time available and the material will adjust to suit.\n\n## Branches \u0026 Tags\n\nYou may notice a number of tags and branches peppered throughout the supporting repo. The workshop steps are tagged such that, if needed, we can skip through to completed examples. The required tag will be documented at the beginning of each section.\n\n## Code Sandbox\nIt can be a time consuming challenge to ensure that everyone participating has their machine setup correctly. For this reason we like to use codesandbox to get everyone running nice 'n quickly.\n\nThese are a list of the available branches as codeboxes. When prompted, go ahead and fork them to your own sandbox:\n\n- Server: Launch Pad https://codesandbox.io/s/github/FormidableLabs/gql-workshop-app/tree/launchpad/server\n- Server: Starter https://codesandbox.io/s/github/FormidableLabs/gql-workshop-app/tree/initial-server/server\n- Server: Complete https://codesandbox.io/s/github/FormidableLabs/gql-workshop-app/tree/client-starting-point/server\n- Client: Start https://codesandbox.io/s/github/FormidableLabs/gql-workshop-app/tree/client-starting-point/client\n\n---\n\nIf really must develop locally, the following are the setup steps, proceed at your peril:\n\n## System Requirements\n\n* [git][git] v2.14.1 or greater\n* [NodeJS][node] v8.9.4 or greater\n* [yarn][yarn] v1.3.0 or greater\n* [GraphQL Playground][gqlplayground] _recommended_\n* [Apollo Dev Tools][apollodevtools] for Chrome _recommended_\n\n\n\nAll of these must be available in your `PATH`. To verify things are set up\nproperly, you can run this:\n\n```\ngit --version\nnode --version\nyarn --version\n```\n\nIf you have trouble with any of these, learn more about the PATH environment\nvariable and how to fix it here for [windows](https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/) or\n[mac/linux](http://stackoverflow.com/a/24322978/971592).\n\n\n## Setup\n\nOnce you've verified that your system is setup correctly. Go ahead and clone our workshop project.\n\n```\ngit clone https://github.com/imranolas/moviedb.git\ncd moviedb\n```\n\nYou should see 2 folders:\n  1. `server`\n  2. `client`\n\nEach folder contains a `package.json` and will require a `yarn install` to be run in the package root.\n\n## Running the app\n\nTo get the app up and running, run `yarn start` in both roots.\n\nThis will start the GQL server, and the client server in development mode.\n\n## About the app\n\nThis app is based on the [The MovieDB API](moviedb). It consists of a GraphQL service that wraps the MovieDB API and serves it to the React client app. This is the completed example but we will be starting from a minimal bootstrapped starting point via git tag.\n\n[moviedb]: https://www.themoviedb.org/\n[yarn]: https://yarnpkg.com/\n[node]: https://nodejs.org\n[git]: https://git-scm.com/\n[gqlplayground]: https://github.com/graphcool/graphql-playground\n[apollodevtools]: https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFormidableLabs%2Fgql-workshop-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFormidableLabs%2Fgql-workshop-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFormidableLabs%2Fgql-workshop-app/lists"}