mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2025-08-27 19:20:12 +02:00
Add interactive GraphQL roadmap
This commit is contained in:
@@ -20,12 +20,12 @@ export const upcomingRoadmaps = [
|
||||
description: 'Step by step guide to become a Cyber Security Expert',
|
||||
id: 'cyber-security'
|
||||
},
|
||||
{
|
||||
type: 'Skill Based',
|
||||
title: 'TypeScript',
|
||||
description: 'Step by step guide to learn TypeScript in 2022',
|
||||
id: 'typescript'
|
||||
},
|
||||
// {
|
||||
// type: 'Skill Based',
|
||||
// title: 'TypeScript',
|
||||
// description: 'Step by step guide to learn TypeScript in 2022',
|
||||
// id: 'typescript'
|
||||
// },
|
||||
// {
|
||||
// type: 'Skill Based',
|
||||
// title: 'Rust',
|
||||
|
@@ -1115,6 +1115,51 @@
|
||||
"id": "aspnet-core",
|
||||
"metaPath": "/roadmaps/116-aspnet-core/meta.json"
|
||||
},
|
||||
{
|
||||
"seo": {
|
||||
"title": "GraphQL Roadmap",
|
||||
"description": "Learn GraphQL with this step by step guide and resources.",
|
||||
"keywords": [
|
||||
"guide to learn graphql",
|
||||
"graphql roadmap",
|
||||
"graphql roadmap",
|
||||
"modern graphql roadmap",
|
||||
"fullstack graphql roadmap",
|
||||
"design and architecture roadmap",
|
||||
"scalable design roadmap",
|
||||
"design architecture patterns roadmap",
|
||||
"application architectures"
|
||||
]
|
||||
},
|
||||
"title": "GraphQL",
|
||||
"description": "Step by step guide to learn GraphQL",
|
||||
"featuredTitle": "GraphQL",
|
||||
"type": "tool",
|
||||
"featuredDescription": "Step by Step guide to learn GraphQL in 2022",
|
||||
"isTextHeavy": false,
|
||||
"isCommunity": false,
|
||||
"isNew": true,
|
||||
"isUpcoming": false,
|
||||
"featured": true,
|
||||
"jsonUrl": "/project/graphql.json",
|
||||
"author": {
|
||||
"name": "Kamran Ahmed",
|
||||
"url": "https://twitter.com/kamranahmedse"
|
||||
},
|
||||
"pdfUrl": "/pdfs/graphql.pdf",
|
||||
"relatedRoadmaps": [
|
||||
"frontend",
|
||||
"backend",
|
||||
"nodejs",
|
||||
"javascript",
|
||||
"react",
|
||||
"vue",
|
||||
"angular"
|
||||
],
|
||||
"contentPathsFilePath": "/roadmaps/116-graphql/content-paths.json",
|
||||
"id": "graphql",
|
||||
"metaPath": "/roadmaps/116-graphql/meta.json"
|
||||
},
|
||||
{
|
||||
"seo": {
|
||||
"title": "Learn to become a modern Flutter developer",
|
||||
@@ -1157,10 +1202,6 @@
|
||||
"2018",
|
||||
"2017"
|
||||
],
|
||||
"author": {
|
||||
"name": "Moien Tajik",
|
||||
"url": "https://twitter.com/MoienTajik"
|
||||
},
|
||||
"pdfUrl": "/pdfs/flutter.pdf",
|
||||
"relatedRoadmaps": [
|
||||
"backend",
|
||||
|
66
content/roadmaps/116-graphql/content-paths.json
Normal file
66
content/roadmaps/116-graphql/content-paths.json
Normal file
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"home": "/roadmaps/116-graphql/content/readme.md",
|
||||
"graphql-introduction": "/roadmaps/116-graphql/content/100-graphql-introduction/readme.md",
|
||||
"graphql-introduction:what-is-graphql": "/roadmaps/116-graphql/content/100-graphql-introduction/100-what-is-graphql.md",
|
||||
"graphql-introduction:problems-graphql-solves": "/roadmaps/116-graphql/content/100-graphql-introduction/101-problems-graphql-solves.md",
|
||||
"graphql-introduction:thinking-in-graphs": "/roadmaps/116-graphql/content/100-graphql-introduction/102-thinking-in-graphs.md",
|
||||
"graphql-introduction:graphql-on-the-frontend": "/roadmaps/116-graphql/content/100-graphql-introduction/103-graphql-on-the-frontend.md",
|
||||
"graphql-introduction:graphql-on-the-backend": "/roadmaps/116-graphql/content/100-graphql-introduction/104-graphql-on-the-backend.md",
|
||||
"graphql-queries": "/roadmaps/116-graphql/content/101-graphql-queries/readme.md",
|
||||
"graphql-queries:what-are-queries": "/roadmaps/116-graphql/content/101-graphql-queries/100-what-are-queries.md",
|
||||
"graphql-queries:fields": "/roadmaps/116-graphql/content/101-graphql-queries/101-fields.md",
|
||||
"graphql-queries:aliases": "/roadmaps/116-graphql/content/101-graphql-queries/102-aliases.md",
|
||||
"graphql-queries:arguments": "/roadmaps/116-graphql/content/101-graphql-queries/103-arguments.md",
|
||||
"graphql-queries:directives": "/roadmaps/116-graphql/content/101-graphql-queries/104-directives.md",
|
||||
"graphql-queries:variables": "/roadmaps/116-graphql/content/101-graphql-queries/105-variables.md",
|
||||
"graphql-queries:fragments": "/roadmaps/116-graphql/content/101-graphql-queries/106-fragments.md",
|
||||
"mutations": "/roadmaps/116-graphql/content/102-mutations/readme.md",
|
||||
"mutations:what-are-mutations": "/roadmaps/116-graphql/content/102-mutations/100-what-are-mutations.md",
|
||||
"mutations:multiple-mutation-fields": "/roadmaps/116-graphql/content/102-mutations/101-multiple-mutation-fields.md",
|
||||
"mutations:operation-name": "/roadmaps/116-graphql/content/102-mutations/102-operation-name.md",
|
||||
"subscriptions": "/roadmaps/116-graphql/content/103-subscriptions/readme.md",
|
||||
"subscriptions:what-are-subscriptions": "/roadmaps/116-graphql/content/103-subscriptions/100-what-are-subscriptions.md",
|
||||
"subscriptions:event-based-subscriptions": "/roadmaps/116-graphql/content/103-subscriptions/101-event-based-subscriptions.md",
|
||||
"subscriptions:live-queries": "/roadmaps/116-graphql/content/103-subscriptions/102-live-queries.md",
|
||||
"subscriptions:defer-stream-directives": "/roadmaps/116-graphql/content/103-subscriptions/103-defer-stream-directives.md",
|
||||
"schema": "/roadmaps/116-graphql/content/104-schema/readme.md",
|
||||
"schema:type-system": "/roadmaps/116-graphql/content/104-schema/100-type-system.md",
|
||||
"schema:fields": "/roadmaps/116-graphql/content/104-schema/101-fields.md",
|
||||
"schema:scalars": "/roadmaps/116-graphql/content/104-schema/102-scalars.md",
|
||||
"schema:enums": "/roadmaps/116-graphql/content/104-schema/103-enums.md",
|
||||
"schema:objects": "/roadmaps/116-graphql/content/104-schema/104-objects.md",
|
||||
"schema:lists": "/roadmaps/116-graphql/content/104-schema/105-lists.md",
|
||||
"schema:interfaces": "/roadmaps/116-graphql/content/104-schema/106-interfaces.md",
|
||||
"schema:unions": "/roadmaps/116-graphql/content/104-schema/107-unions.md",
|
||||
"schema:arguments": "/roadmaps/116-graphql/content/104-schema/108-arguments.md",
|
||||
"validation": "/roadmaps/116-graphql/content/104-validation.md",
|
||||
"execution": "/roadmaps/116-graphql/content/105-execution/readme.md",
|
||||
"execution:root-fields": "/roadmaps/116-graphql/content/105-execution/100-root-fields.md",
|
||||
"execution:resolvers": "/roadmaps/116-graphql/content/105-execution/101-resolvers/readme.md",
|
||||
"execution:resolvers:synchronous": "/roadmaps/116-graphql/content/105-execution/101-resolvers/100-synchronous.md",
|
||||
"execution:resolvers:asynchronous": "/roadmaps/116-graphql/content/105-execution/101-resolvers/101-asynchronous.md",
|
||||
"execution:resolvers:scalar-coercion": "/roadmaps/116-graphql/content/105-execution/101-resolvers/102-scalar-coercion.md",
|
||||
"execution:resolvers:lists": "/roadmaps/116-graphql/content/105-execution/101-resolvers/103-lists.md",
|
||||
"execution:validation": "/roadmaps/116-graphql/content/105-execution/102-validation.md",
|
||||
"execution:producing-the-result": "/roadmaps/116-graphql/content/105-execution/103-producing-the-result.md",
|
||||
"serving-over-internet": "/roadmaps/116-graphql/content/106-serving-over-internet/readme.md",
|
||||
"serving-over-internet:graphql-over-http": "/roadmaps/116-graphql/content/106-serving-over-internet/100-graphql-over-http/readme.md",
|
||||
"serving-over-internet:graphql-over-http:caching": "/roadmaps/116-graphql/content/106-serving-over-internet/100-graphql-over-http/100-caching.md",
|
||||
"serving-over-internet:graphql-over-http:batching": "/roadmaps/116-graphql/content/106-serving-over-internet/100-graphql-over-http/101-batching.md",
|
||||
"serving-over-internet:graphql-over-http:authorization": "/roadmaps/116-graphql/content/106-serving-over-internet/100-graphql-over-http/102-authorization.md",
|
||||
"serving-over-internet:graphql-over-websockets": "/roadmaps/116-graphql/content/106-serving-over-internet/101-graphql-over-websockets/readme.md",
|
||||
"serving-over-internet:graphql-over-websockets:real-time": "/roadmaps/116-graphql/content/106-serving-over-internet/101-graphql-over-websockets/100-real-time.md",
|
||||
"serving-over-internet:graphql-over-websockets:authorization": "/roadmaps/116-graphql/content/106-serving-over-internet/101-graphql-over-websockets/101-authorization.md",
|
||||
"serving-over-internet:graphql-over-sse": "/roadmaps/116-graphql/content/106-serving-over-internet/102-graphql-over-sse/readme.md",
|
||||
"serving-over-internet:graphql-over-sse:authorization": "/roadmaps/116-graphql/content/106-serving-over-internet/102-graphql-over-sse/100-authorization.md",
|
||||
"pagination": "/roadmaps/116-graphql/content/107-pagination.md",
|
||||
"frontend-implementations": "/roadmaps/116-graphql/content/108-frontend-implementations/readme.md",
|
||||
"frontend-implementations:graphql-http": "/roadmaps/116-graphql/content/108-frontend-implementations/100-graphql-http.md",
|
||||
"frontend-implementations:graphql-yoga": "/roadmaps/116-graphql/content/108-frontend-implementations/101-graphql-yoga.md",
|
||||
"frontend-implementations:apollo-server": "/roadmaps/116-graphql/content/108-frontend-implementations/102-apollo-server.md",
|
||||
"frontend-implementations:mercurius": "/roadmaps/116-graphql/content/108-frontend-implementations/103-mercurius.md",
|
||||
"backend-implementations": "/roadmaps/116-graphql/content/109-backend-implementations/readme.md",
|
||||
"backend-implementations:relay": "/roadmaps/116-graphql/content/109-backend-implementations/100-relay.md",
|
||||
"backend-implementations:apollo-client": "/roadmaps/116-graphql/content/109-backend-implementations/101-apollo-client.md",
|
||||
"backend-implementations:urql": "/roadmaps/116-graphql/content/109-backend-implementations/102-urql.md"
|
||||
}
|
@@ -0,0 +1 @@
|
||||
# What is graphql
|
@@ -0,0 +1 @@
|
||||
# Problems graphql solves
|
@@ -0,0 +1 @@
|
||||
# Thinking in graphs
|
@@ -0,0 +1 @@
|
||||
# Graphql on the frontend
|
@@ -0,0 +1 @@
|
||||
# Graphql on the backend
|
@@ -0,0 +1 @@
|
||||
# Graphql introduction
|
@@ -0,0 +1 @@
|
||||
# What are queries
|
@@ -0,0 +1 @@
|
||||
# Fields
|
@@ -0,0 +1 @@
|
||||
# Aliases
|
@@ -0,0 +1 @@
|
||||
# Arguments
|
@@ -0,0 +1 @@
|
||||
# Directives
|
@@ -0,0 +1 @@
|
||||
# Variables
|
@@ -0,0 +1 @@
|
||||
# Fragments
|
@@ -0,0 +1 @@
|
||||
# Graphql queries
|
@@ -0,0 +1 @@
|
||||
# What are mutations
|
@@ -0,0 +1 @@
|
||||
# Multiple mutation fields
|
@@ -0,0 +1 @@
|
||||
# Operation name
|
@@ -0,0 +1 @@
|
||||
# Mutations
|
@@ -0,0 +1 @@
|
||||
# What are subscriptions
|
@@ -0,0 +1 @@
|
||||
# Event based subscriptions
|
@@ -0,0 +1 @@
|
||||
# Live queries
|
@@ -0,0 +1 @@
|
||||
# Defer stream directives
|
@@ -0,0 +1 @@
|
||||
# Subscriptions
|
@@ -0,0 +1 @@
|
||||
# Type system
|
@@ -0,0 +1 @@
|
||||
# Fields
|
@@ -0,0 +1 @@
|
||||
# Scalars
|
@@ -0,0 +1 @@
|
||||
# Enums
|
@@ -0,0 +1 @@
|
||||
# Objects
|
@@ -0,0 +1 @@
|
||||
# Lists
|
@@ -0,0 +1 @@
|
||||
# Interfaces
|
@@ -0,0 +1 @@
|
||||
# Unions
|
@@ -0,0 +1 @@
|
||||
# Arguments
|
@@ -0,0 +1 @@
|
||||
# Schema
|
1
content/roadmaps/116-graphql/content/104-validation.md
Normal file
1
content/roadmaps/116-graphql/content/104-validation.md
Normal file
@@ -0,0 +1 @@
|
||||
# Validation
|
@@ -0,0 +1 @@
|
||||
# Root fields
|
@@ -0,0 +1 @@
|
||||
# Synchronous
|
@@ -0,0 +1 @@
|
||||
# Asynchronous
|
@@ -0,0 +1 @@
|
||||
# Scalar coercion
|
@@ -0,0 +1 @@
|
||||
# Lists
|
@@ -0,0 +1 @@
|
||||
# Resolvers
|
@@ -0,0 +1 @@
|
||||
# Validation
|
@@ -0,0 +1 @@
|
||||
# Producing the result
|
@@ -0,0 +1 @@
|
||||
# Execution
|
@@ -0,0 +1 @@
|
||||
# Caching
|
@@ -0,0 +1 @@
|
||||
# Batching
|
@@ -0,0 +1 @@
|
||||
# Authorization
|
@@ -0,0 +1 @@
|
||||
# Graphql over http
|
@@ -0,0 +1 @@
|
||||
# Real time
|
@@ -0,0 +1 @@
|
||||
# Authorization
|
@@ -0,0 +1 @@
|
||||
# Graphql over websockets
|
@@ -0,0 +1 @@
|
||||
# Authorization
|
@@ -0,0 +1 @@
|
||||
# Graphql over sse
|
@@ -0,0 +1 @@
|
||||
# Serving over internet
|
1
content/roadmaps/116-graphql/content/107-pagination.md
Normal file
1
content/roadmaps/116-graphql/content/107-pagination.md
Normal file
@@ -0,0 +1 @@
|
||||
# Pagination
|
@@ -0,0 +1 @@
|
||||
# Graphql http
|
@@ -0,0 +1 @@
|
||||
# Graphql yoga
|
@@ -0,0 +1 @@
|
||||
# Apollo server
|
@@ -0,0 +1 @@
|
||||
# Mercurius
|
@@ -0,0 +1 @@
|
||||
# Frontend implementations
|
@@ -0,0 +1 @@
|
||||
# Relay
|
@@ -0,0 +1 @@
|
||||
# Apollo client
|
@@ -0,0 +1 @@
|
||||
# Urql
|
@@ -0,0 +1 @@
|
||||
# Backend implementations
|
1
content/roadmaps/116-graphql/content/readme.md
Normal file
1
content/roadmaps/116-graphql/content/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
#
|
43
content/roadmaps/116-graphql/meta.json
Normal file
43
content/roadmaps/116-graphql/meta.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"seo": {
|
||||
"title": "GraphQL Roadmap",
|
||||
"description": "Learn GraphQL with this step by step guide and resources.",
|
||||
"keywords": [
|
||||
"guide to learn graphql",
|
||||
"graphql roadmap",
|
||||
"graphql roadmap",
|
||||
"modern graphql roadmap",
|
||||
"fullstack graphql roadmap",
|
||||
"design and architecture roadmap",
|
||||
"scalable design roadmap",
|
||||
"design architecture patterns roadmap",
|
||||
"application architectures"
|
||||
]
|
||||
},
|
||||
"title": "GraphQL",
|
||||
"description": "Step by step guide to learn GraphQL",
|
||||
"featuredTitle": "GraphQL",
|
||||
"type": "tool",
|
||||
"featuredDescription": "Step by Step guide to learn GraphQL in 2022",
|
||||
"isTextHeavy": false,
|
||||
"isCommunity": false,
|
||||
"isNew": true,
|
||||
"isUpcoming": false,
|
||||
"featured": true,
|
||||
"jsonUrl": "/project/graphql.json",
|
||||
"author": {
|
||||
"name": "Denis Badurina",
|
||||
"url": "https://twitter.com/enisdenjo"
|
||||
},
|
||||
"pdfUrl": "/pdfs/graphql.pdf",
|
||||
"relatedRoadmaps": [
|
||||
"frontend",
|
||||
"backend",
|
||||
"nodejs",
|
||||
"javascript",
|
||||
"react",
|
||||
"vue",
|
||||
"angular"
|
||||
],
|
||||
"contentPathsFilePath": "./content-paths.json"
|
||||
}
|
@@ -40,10 +40,6 @@
|
||||
"2018",
|
||||
"2017"
|
||||
],
|
||||
"author": {
|
||||
"name": "Moien Tajik",
|
||||
"url": "https://twitter.com/MoienTajik"
|
||||
},
|
||||
"pdfUrl": "/pdfs/flutter.pdf",
|
||||
"relatedRoadmaps": [
|
||||
"backend",
|
||||
@@ -54,4 +50,4 @@
|
||||
"nodejs"
|
||||
],
|
||||
"contentPathsFilePath": "./content-paths.json"
|
||||
}
|
||||
}
|
||||
|
@@ -49,5 +49,5 @@ export function getFeaturedRoadmaps(): RoadmapType[] {
|
||||
}
|
||||
|
||||
export function isInteractiveRoadmap(id: string): boolean {
|
||||
return ['frontend', 'backend', 'devops', 'react', 'vue', 'python', 'java', 'blockchain', 'golang', 'javascript', 'nodejs', 'qa', 'design-system', 'angular', 'software-architect', 'software-design-architecture', 'aspnet-core', 'flutter', 'computer-science'].includes(id);
|
||||
return ['frontend', 'backend', 'devops', 'react', 'vue', 'python', 'java', 'blockchain', 'golang', 'javascript', 'nodejs', 'qa', 'design-system', 'angular', 'software-architect', 'software-design-architecture', 'aspnet-core', 'flutter', 'computer-science', 'graphql'].includes(id);
|
||||
}
|
||||
|
@@ -183,6 +183,10 @@ export function InteractiveRoadmapRenderer(props: RoadmapProps) {
|
||||
minHeight = ['1222px', '1393px', '2288px', '3084px', '3084px', '3084px'];
|
||||
}
|
||||
|
||||
if (roadmap.id === 'graphql') {
|
||||
minHeight = ['770px', '1261px', '1617px', '1712px', '1712px', '1712px'];
|
||||
}
|
||||
|
||||
return (
|
||||
<Container maxW={'container.lg'} position="relative" minHeight={minHeight} pos='relative'>
|
||||
{(isLoading || isRendering) && <RoadmapLoader />}
|
||||
|
4786
public/project/graphql.json
Normal file
4786
public/project/graphql.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -120,10 +120,16 @@
|
||||
<lastmod>2022-11-14T14:37:05.493Z</lastmod>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://roadmap.sh/graphql</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<lastmod>2022-12-12T13:43:44.831Z</lastmod>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://roadmap.sh/flutter</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<lastmod>2022-11-14T14:37:05.558Z</lastmod>
|
||||
<lastmod>2022-12-12T13:27:19.515Z</lastmod>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
<url>
|
||||
@@ -340,7 +346,7 @@
|
||||
<url>
|
||||
<loc>https://roadmap.sh/signup</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<lastmod>2022-11-14T14:37:05.596Z</lastmod>
|
||||
<lastmod>2022-12-05T14:00:28.160Z</lastmod>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
<url>
|
||||
|
@@ -54,6 +54,7 @@ const roadmaps: Record<string, RoadmapType> = {
|
||||
'aspnet-core': require('../public/project/aspnet-core.json'),
|
||||
'flutter': require('../public/project/flutter.json'),
|
||||
'computer-science': require('../public/project/computer-science.json'),
|
||||
'graphql': require('../public/project/graphql.json'),
|
||||
};
|
||||
|
||||
if (!roadmapKey || !roadmaps[roadmapKey]) {
|
||||
|
Reference in New Issue
Block a user