
talkStructure {
'What is GraphQL?',
'Design Principle of GraphQL.',
'Comparison with Rest',
'GraphQL specs',
'GraphQL tools',
'Our Tech Stack',
'Building an API on backend',
'Consuming API on frontend'
}

Image @nikkitaftw
Image @peggyrayzis
query {
items {
id
title
description
image
price
}
}
mutation createItem {
createItem(
title: "Google Logo",
description: "Logo description",
image: "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png",
largeImage: "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png",
price:1000
) {
id
title
}
}

enum Episode {
NEWHOPE
EMPIRE
JEDI
}
interface Character {
id: ID!
name: String!
friends: [Character]
appearsIn: [Episode]!
}
union SearchResult = Human | Droid | Starship
input ReviewInput {
stars: Int!
commentary: String
}
Using it like
mutation CreateReviewForEpisode($ep: Episode!, $review: ReviewInput!) {
createReview(episode: $ep, review: $review) {
stars
commentary
}
}



| Frontend/UI | GraphQL Frontend Data Management | GraphQL Server | Database ORM |
|---|---|---|---|
| Frontend rendering | Performing GraphQL mutation | Implementing Query and Mutation resolvers | Provding a set of GraphQL CRUD APIs for MySQL, Postgres, MongoDB etc |
| Styling | Fetching GraphQL Queries | Custom server side logic | Schema Definition |
| Testing frontend | Caching GraphQL Data | Authentication | Data relationships |
React/Next.js
Apollo
GraphQL Yoga
Prisma

GraphQL Query layer





