Graphql

This mind map provides a detailed breakdown of key concepts, challenges, solutions, and tools related to GraphQL development. It covers essential topics for both backend and frontend GraphQL implementations. Below is a concise summary of the major areas: # Section Key Points 1 Problems N+1 problem (dataloader solution), performance issues (Ben Awad), error handling. 2 Validation Use of libraries like yup, zod, and shared validation between front-end and back-end. 3 GraphQL Federation Combini...

Kom i gang. Det er Gratis
eller tilmeld med din email adresse
Graphql af Mind Map: Graphql

1. others

1.1. styles

1.1.1. bad

1.1.1.1. Very bad

1.1.2. good

1.1.2.1. very good

1.1.3. not as good

1.1.4. not as bad

1.1.5. important

1.1.5.1. Very important

1.1.6. warning

1.1.7. link

1.2. AUTHOR

1.2.1. Nima Shokouhfar

1.2.1.1. Linkedin

1.2.1.1.1. Follow me on LinkedIn to stay updated on my latest professional insights and tech projects!

1.2.1.2. Youtube

1.2.1.2.1. code with nima

1.2.1.2.2. ideariver

1.2.1.3. Medium

1.2.1.3.1. ✍️ Follow me on Medium to read my latest articles on tech, coding, and innovation!

1.2.1.4. Github

1.2.1.4.1. ⭐️ Give my projects a star on GitHub and explore my repositories to discover new tools and innovations!

1.2.1.4.2. 💖 Sponsor me on GitHub to support my open-source contributions and help me create even more useful projects!

1.2.1.5. upwork

1.2.1.5.1. 💼 Hire me on Upwork for freelance projects. Let’s work together to bring your tech ideas to life!

1.2.1.6. main website: ideariver.ca

1.2.1.6.1. 🚀 Visit IdeaRiver.ca for all my latest projects, blogs, and ways to connect!

2. main

2.1. Problems

2.1.1. GraphQL N+1 Problem

2.1.1.1. Solution

2.1.1.1.1. Link: to solution

2.1.1.1.2. dataloader

2.1.2. Ben Awad's performance problem

2.1.3. error handling

2.1.3.1. link

2.1.3.1.1. link

2.2. Validation

2.2.1. directives

2.2.1.1. lib

2.2.1.1.1. graphql-constraint-directive

2.2.2. Ben Awad

2.2.2.1. lib

2.2.2.1.1. yup

2.2.2.2. in a common library that is shared between back-end and front-end

2.2.3. zod

2.2.3.1. downloads 3/5/2023: 2,595,452

2.3. GraphQL federation

2.3.1. ften companies will spin up multiple GraphQL services when they launch new product features and use tools like GraphQL federation and API Gateways to combine them into a single client-facing API

2.4. lib

2.4.1. Type graphql

2.4.1.1. Creating schemas

2.4.1.2. middleware

2.4.1.2.1. use cases

2.4.1.3. Authorization

2.4.1.3.1. middleware

2.4.1.3.2. Directives

2.4.1.3.3. Data access

2.4.1.3.4. API gateway

2.4.2. server

2.4.2.1. libs

2.4.2.1.1. express

2.4.2.1.2. Apollo server

2.4.2.1.3. GraphQL Yoga

2.4.2.1.4. type-graphql

2.4.2.1.5. graphql-modules

2.4.2.2. file upload

2.4.2.2.1. lib

2.4.2.3. @graphql-tools/utils

2.4.2.3.1. mapSchema

2.4.3. client

2.4.3.1. why not to use redux and apollo together

2.4.3.1.1. size

2.4.3.1.2. Single source of truth

2.4.3.2. Famous libs

2.4.3.2.1. types

2.4.3.2.2. Link comparison

2.4.3.3. graphql-request

2.4.3.4. file upload

2.4.3.4.1. graphql-upload

2.4.3.4.2. multer

2.4.3.5. graphql with redux toolkit

2.4.3.5.1. link: simple all together

2.5. Topics

2.5.1. Mutations

2.5.1.1. post or delete

2.5.2. Queries

2.5.3. fragments

2.5.3.1. query reusability

2.5.3.2. disadvantage

2.5.3.2.1. you cannot call a fragment in another fragment

2.5.4. Scalar

2.5.5. interfaces

2.5.6. Directives

2.5.6.1. explanation

2.5.6.1.1. A GraphQL schema describes directives which are used to annotate various parts of a GraphQL document as an indicator that they should be evaluated differently by a validator, executor, or client tool such as a code generator.

2.5.6.1.2. That metadata can be read at runtime to modify the structure and behavior of a GraphQL schema to support reusable code and tasks like authentication, permission, formatting, and plenty more

2.5.6.1.3. They are also really useful for some external services like Apollo Cache Control or Apollo Federation.

2.5.6.2. examples

2.5.6.2.1. @deprecated

2.5.6.2.2. @include

2.5.6.2.3. @isOrganizationMember

2.5.6.3. Existing directives

2.5.6.4. Authorization

2.5.6.4.1. Directives vs context objects

2.6. Pro and Cons

2.6.1. Advantages

2.6.1.1. interactive query system

2.6.1.1.1. You can query only the desired data.

2.6.1.2. request the data in single request

2.6.1.2.1. avoiding multiple API fetches

2.6.1.3. Single URL entery point

2.6.1.4. It can be an effective Gate way

2.6.2. Disadvantages

2.7. tools

2.7.1. chillicream

2.7.1.1. link

2.7.2. apollo

2.7.2.1. link

2.8. Best practices

2.8.1. link

2.8.2. TODO: Summary here the link