This repository is created for learning and working with GraphQL. It covers various topics related to GraphQL. Please find the details of the repository content and topics below.
-
Introduction
- What is GraphQL? What is it not?
- Introduction to Apollo Server
- Working with Non-Nullable Fields
- Scalar Types
- Custom Types
- Working with Arguments
- Working with Relational Data
- Arguments in Relational Expressions
- Comment Challenge
- Homework
-
Mutations (Server)
- What are Mutations? How to write them?
- Input Types
- Update Mutations
- Delete Mutations
- Delete All Mutations
-
Subscriptions (Server)
- Setting up Subscription Server
- User CRUD Subscriptions
- Post and Comment CRUD Subscriptions
- Filtering Subscriptions with withFilter
- Redis PubSub
- Environment Variables
-
Folder/Schema Structure
- Folder/Schema Structure - 1
- Folder/Schema Structure - 2 (File Loader)
- Babel Compiler
Follow the steps below to run the project on your local machine:
- Navigate to the project directory:
cd graphql
- Install the dependencies:
npm install
- Run the project:
npm run dev
The following dependencies are used in this project:
- @graphql-tools/load-files: ^7.0.0
- @graphql-tools/merge: ^9.0.0
- @graphql-tools/schema: ^10.0.0
- apollo-server: ^3.10.2
- apollo-server-core: ^3.10.2
- graphql: ^16.6.0
- graphql-import: ^1.0.2
- graphql-yoga: ^3.9.1
- prettier: ^2.8.8
- uuid: ^9.0.0
- nodemon: ^2.0.20
This project is licensed under the ISC License.