Skip to content

Commit 77febbb

Browse files
committed
wip
1 parent c710ef2 commit 77febbb

File tree

1 file changed

+66
-44
lines changed

1 file changed

+66
-44
lines changed

src/components/learn-aggregator/items.tsx

Lines changed: 66 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -11,114 +11,136 @@ interface LearnPageItem {
1111

1212
const _items: Record<LearnPagePath, Omit<LearnPageItem, "title"> | null> = {
1313
introduction: {
14-
description: "",
15-
icon: "",
14+
description:
15+
"Get a high-level overview of GraphQL and how it enables flexible, versionless APIs powered by a strong type system.",
16+
icon: new URL("./icons/computer.svg", import.meta.url).href,
1617
section: "getting-started",
1718
},
1819
schema: {
19-
description: "",
20-
icon: "",
20+
description:
21+
"Learn the elements of the GraphQL type system and how schemas describe your data and relationships.",
22+
icon: new URL("./icons/hierarchy.svg", import.meta.url).href,
2123
section: "getting-started",
2224
},
2325
queries: {
24-
description: "",
25-
icon: "",
26+
description:
27+
"Use query operations to fetch exactly the data you need from a GraphQL server.",
28+
icon: new URL("./icons/search.svg", import.meta.url).href,
2629
section: "getting-started",
2730
},
2831
mutations: {
29-
description: "",
30-
icon: "",
32+
description:
33+
"See how mutation operations write data and when side effects are allowed in GraphQL.",
34+
icon: new URL("./icons/construction.svg", import.meta.url).href,
3135
section: "getting-started",
3236
},
3337
subscriptions: {
34-
description: "",
35-
icon: "",
38+
description:
39+
"Get real-time updates from a GraphQL server with long-lived subscription operations.",
40+
icon: new URL("./icons/sync-square.svg", import.meta.url).href,
3641
section: "getting-started",
3742
},
3843
validation: {
39-
description: "",
40-
icon: "",
44+
description:
45+
"Validate operations against your schema to catch issues before execution.",
46+
icon: new URL("./icons/product-check.svg", import.meta.url).href,
4147
section: "getting-started",
4248
},
4349
execution: {
44-
description: "",
45-
icon: "",
50+
description:
51+
"Understand how GraphQL resolves fields during execution to fulfill client requests.",
52+
icon: new URL("./icons/board.svg", import.meta.url).href,
4653
section: "getting-started",
4754
},
4855
response: {
49-
description: "",
50-
icon: "",
56+
description:
57+
"Learn how GraphQL responses mirror queries, include data, and surface errors.",
58+
icon: new URL("./icons/share.svg", import.meta.url).href,
5159
section: "getting-started",
5260
},
5361
introspection: {
54-
description: "",
55-
icon: "",
62+
description:
63+
"Ask a schema about its types and fields using GraphQL's introspection system.",
64+
icon: new URL("./icons/zoom-page.svg", import.meta.url).href,
5665
section: "getting-started",
5766
},
5867
// ---
5968
"best-practices": {
60-
description: "",
61-
icon: "",
69+
description:
70+
"Practical guidance for networking, authorization, pagination, and other everyday GraphQL concerns.",
71+
icon: new URL("./icons/books.svg", import.meta.url).href,
6272
section: "best-practices",
6373
},
6474
"thinking-in-graphs": {
65-
description: "",
66-
icon: "",
75+
description:
76+
"Model your business domain as a graph and use schemas to express connected types.",
77+
icon: new URL("./icons/layer.svg", import.meta.url).href,
6778
section: "best-practices",
6879
},
6980
"serving-over-http": {
70-
description: "",
71-
icon: "",
81+
description:
82+
"Follow HTTP guidelines to respond to GraphQL queries and mutations over the web.",
83+
icon: new URL("./icons/globe.svg", import.meta.url).href,
7284
section: "best-practices",
7385
},
7486
"file-uploads": {
75-
description: "",
76-
icon: "",
87+
description:
88+
"Understand why file uploads are tricky in GraphQL and safer patterns to support them.",
89+
icon: new URL("./icons/note.svg", import.meta.url).href,
7790
section: "best-practices",
7891
},
7992
authorization: {
80-
description: "",
81-
icon: "",
93+
description:
94+
"Design authorization in your schema to control which users can access specific data.",
95+
icon: new URL("./icons/key.svg", import.meta.url).href,
8296
section: "best-practices",
8397
},
8498
pagination: {
85-
description: "",
86-
icon: "",
99+
description:
100+
"Paginate lists and connections so clients can traverse large graphs efficiently.",
101+
icon: new URL("./icons/menu.svg", import.meta.url).href,
87102
section: "best-practices",
88103
},
89104
"schema-design": {
90-
description: "",
91-
icon: "",
105+
description:
106+
"Evolve schemas without versioning while keeping types clear and future-friendly.",
107+
icon: new URL("./icons/cog-double.svg", import.meta.url).href,
92108
section: "best-practices",
93109
},
94110
"global-object-identification": {
95-
description: "",
96-
icon: "",
111+
description:
112+
"Expose global object IDs so clients can refetch, cache, and reference data reliably.",
113+
icon: new URL("./icons/dna.svg", import.meta.url).href,
97114
section: "best-practices",
98115
},
99116
caching: {
100-
description: "",
101-
icon: "",
117+
description:
118+
"Use identifiers and response patterns that enable effective caching for GraphQL clients and servers.",
119+
icon: new URL("./icons/sync-square.svg", import.meta.url).href,
102120
section: "best-practices",
103121
},
104122
performance: {
105-
description: "",
106-
icon: "",
123+
description:
124+
"Optimize GraphQL requests and implementations for fast, efficient performance.",
125+
icon: new URL("./icons/startup.svg", import.meta.url).href,
107126
section: "best-practices",
108127
},
109128
security: {
110-
description: "",
111-
icon: "",
129+
description:
130+
"Protect GraphQL APIs against common attack vectors with layered security practices.",
131+
icon: new URL("./icons/safe.svg", import.meta.url).href,
112132
section: "best-practices",
113133
},
114134
federation: {
115-
description: "",
116-
icon: "",
135+
description:
136+
"Compose multiple services into a single graph using GraphQL federation.",
137+
icon: new URL("./icons/globe.svg", import.meta.url).href,
117138
section: "best-practices",
118139
},
119140
"debug-errors": {
120-
description: "",
121-
icon: "",
141+
description:
142+
"Identify common HTTP and GraphQL errors and debug them effectively.",
143+
icon: new URL("./icons/solve.svg", import.meta.url).href,
122144
section: "best-practices",
123145
},
124146
}

0 commit comments

Comments
 (0)