Skip to content

Commit b67ebd7

Browse files
committed
Adding a tutorials section to reference Philip Starritts great work
1 parent 4ba66ba commit b67ebd7

File tree

5 files changed

+187
-0
lines changed

5 files changed

+187
-0
lines changed

config.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ googleAnalytics = ""
5959
url = "https://github.com/graphql-java-kickstart/samples"
6060
menu = "Samples"
6161

62+
[[params.repositories]]
63+
name = "philip-jvm/learn-spring-boot-graphql"
64+
url = "https://github.com/philip-jvm/learn-spring-boot-graphql"
65+
menu = "Tutorials"
66+
6267
[params.logo]
6368
icon = ""
6469
image = "images/logo-graphql-kickstart-2000px.png"
@@ -103,6 +108,11 @@ googleAnalytics = ""
103108
url = "/samples/"
104109
weight = 50
105110

111+
[[menu.main]]
112+
name = "Tutorials"
113+
url = "/tutorials/"
114+
weight = 60
115+
106116
[blackfriday]
107117
smartypants = true
108118
fractions = true

content/tutorials/_index.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
date: 2021-04-09T17:50:13+01:00
3+
title: About Learn GraphQL Spring Boot
4+
weight: 1
5+
type: index
6+
menu:
7+
main:
8+
parent: Tutorials
9+
10+
---
11+
12+
## Learn GraphQL Spring Boot Course
13+
14+
[Philip Starritt](https://github.com/philip-jvm) has published an excellent tutorial series on YouTube, which provides a hands-on approach to learning GraphQL Spring Boot.
15+
16+
You can also find the implementation examples from the tutorial series at [philip-jvm/learn-spring-boot-graphql](https://github.com/philip-jvm/learn-spring-boot-graphql)
17+
18+
19+
## Playlist
20+
Check out the full [Spring Boot GraphQL Tutorial YouTube Playlist](https://www.youtube.com/playlist?list=PLiwhu8iLxKwL1TU0RMM6z7TtkyW-3-5Wi) for the latest set of videos

content/tutorials/courses/_index.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
date: 2021-04-09T17:50:13+01:00
3+
title: Courses
4+
weight: 1
5+
type: index
6+
menu:
7+
main:
8+
identifier: tutorial-courses
9+
parent: Tutorials
10+
url: /tutorials/courses/
11+
---
12+
13+
14+
## 1 - Introduction, Dependencies, IDE Setup
15+
{{< youtube id="nju6jFW8CVw" >}}
16+
{{< youtube-badges id="nju6jFW8CVw" playlistIndex="1" >}}
17+
18+
## 2 - Creating your first Schema and Query
19+
{{< youtube id="rH2kdMPUQpQ" >}}
20+
{{< youtube-badges id="rH2kdMPUQpQ" playlistIndex="2" >}}
21+
22+
23+
## 3 - Schema Design Best Practices
24+
{{< youtube id="zc3KHikd9ko" >}}
25+
{{< youtube-badges id="zc3KHikd9ko" playlistIndex="3" >}}
26+
27+
## 4 - DDOS, Recursion, Max Query Depth Limit
28+
{{< youtube id="JRh5Rd6Reis" >}}
29+
{{< youtube-badges id="JRh5Rd6Reis" playlistIndex="4" >}}
30+
31+
## 5 - Playground GraphQL IDE
32+
{{< youtube id="4bheCHi5zKs" >}}
33+
{{< youtube-badges id="4bheCHi5zKs" playlistIndex="5" >}}
34+
35+
## 6 - Voyager Schema Visualizer
36+
{{< youtube id="46zhRqEuvBI" >}}
37+
{{< youtube-badges id="46zhRqEuvBI" playlistIndex="6" >}}
38+
39+
## 7 - Resolvers
40+
{{< youtube id="Lmwqb7BGtQ0" >}}
41+
{{< youtube-badges id="Lmwqb7BGtQ0" playlistIndex="7" >}}
42+
43+
## 8 - Exception Handling with ExceptionHandler
44+
{{< youtube id="p3mA1OQg1kc" >}}
45+
{{< youtube-badges id="p3mA1OQg1kc" playlistIndex="8" >}}
46+
47+
## 9 - Exception Handling with GraphQLErrorHandler
48+
{{< youtube id="bbfsak5i8Ok" >}}
49+
{{< youtube-badges id="bbfsak5i8Ok" playlistIndex="9" >}}
50+
51+
## 10 - DataFetcherResult - Returning data and errors
52+
{{< youtube id="zjT9Jy276" >}}
53+
{{< youtube-badges id="zjT9Jy276" playlistIndex="10" >}}
54+
55+
## 11 - Asynchronous Resolvers
56+
{{< youtube id="UOyIQCsVii4" >}}
57+
{{< youtube-badges id="UOyIQCsVii4" playlistIndex="11" >}}
58+
59+
## 12 - Mutation
60+
{{< youtube id="NR0HwkLhWAk" >}}
61+
{{< youtube-badges id="NR0HwkLhWAk" playlistIndex="12" >}}
62+
63+
## 13 - File Upload
64+
{{< youtube id="8SDGusSKV1o" >}}
65+
{{< youtube-badges id="8SDGusSKV1o" playlistIndex="13" >}}
66+
67+
## 14 - DataFetchingEnvironment
68+
{{< youtube id="_sILQm0axSw" >}}
69+
{{< youtube-badges id="_sILQm0axSw" playlistIndex="14" >}}
70+
71+
## 15 - SelectionSet
72+
{{< youtube id="9vmKzs1P10I" >}}
73+
{{< youtube-badges id="9vmKzs1P10I" playlistIndex="15" >}}
74+
75+
## 16 - Custom Scalar
76+
{{< youtube id="6LGlR-oTN3A" >}}
77+
{{< youtube-badges id="6LGlR-oTN3A" playlistIndex="16" >}}
78+
79+
## 17 - Date Type
80+
{{< youtube id="jH5zHnq_0ZQ" >}}
81+
{{< youtube-badges id="jH5zHnq_0ZQ" playlistIndex="17" >}}
82+
83+
## 18 - Input Validation (Method 1 - Bean)
84+
{{< youtube id="gmbVyZvGCIE" >}}
85+
{{< youtube-badges id="gmbVyZvGCIE" playlistIndex="18" >}}
86+
87+
## 20 - Listener
88+
{{< youtube id="nybkMHHyXUk" >}}
89+
{{< youtube-badges id="nybkMHHyXUk" playlistIndex="20" >}}
90+
91+
## 21 - Pagination (Edges, Nodes, Cursor)
92+
{{< youtube id="J9Nq0Fq7t_8" >}}
93+
{{< youtube-badges id="J9Nq0Fq7t_8" playlistIndex="21" >}}
94+
95+
## 22 - Custom Context
96+
{{< youtube id="YsM2VSnWUcg" >}}
97+
{{< youtube-badges id="YsM2VSnWUcg" playlistIndex="22" >}}
98+
99+
## 23 - DataLoader (N+1 problem)
100+
{{< youtube id="tbxskis_ny4" >}}
101+
{{< youtube-badges id="tbxskis_ny4" playlistIndex="23" >}}
102+
103+
## 24 - Instrumentation (Request Logging)
104+
{{< youtube id="fPfApe80amg" >}}
105+
{{< youtube-badges id="fPfApe80amg" playlistIndex="24" >}}
106+
107+
## 25 - Request Tracing
108+
{{< youtube id="b5o6w-WA9iM" >}}
109+
{{< youtube-badges id="b5o6w-WA9iM" playlistIndex="25" >}}
110+
111+
#26 - Correlation ID (Thread propagation)
112+
{{< youtube id="17AFe2eCRqc" >}}
113+
{{< youtube-badges id="17AFe2eCRqc" playlistIndex="26" >}}
114+
115+
#27 - Integration Testing (GraphQLTestTemplate)
116+
{{< youtube id="bdfEjn6xZx0" >}}
117+
{{< youtube-badges id="bdfEjn6xZx0" playlistIndex="27" >}}
118+
119+
#28 - JS GraphQL IntelliJ Plugin
120+
{{< youtube id="hFHxOlThFR4" >}}
121+
{{< youtube-badges id="hFHxOlThFR4" playlistIndex="28" >}}
122+
123+
## 29 – JVM Profiling (VisualVM, JMeter)
124+
{{< youtube id="Bu-P0aZyOfE" >}}
125+
{{< youtube-badges id="Bu-P0aZyOfE" playlistIndex="29" >}}
126+
127+
## 30 – DataLoader Key Context
128+
{{< youtube id="nuRYRRAQh_Y" >}}
129+
{{< youtube-badges id="nuRYRRAQh_Y" playlistIndex="30" >}}
130+
131+
## 31 – Spring Security
132+
{{< youtube id="_T_0VB3AoV4" >}}
133+
{{< youtube-badges id="_T_0VB3AoV4" playlistIndex="31" >}}
134+
135+
## 32 – Schema Directive Validation
136+
{{< youtube id="DN9XyUZ8yq8" >}}
137+
{{< youtube-badges id="DN9XyUZ8yq8" playlistIndex="32" >}}
138+
139+
## 33 – Subscription with Reactor
140+
{{< youtube id="I3NBPHA5coo" >}}
141+
{{< youtube-badges id="I3NBPHA5coo" playlistIndex="33" >}}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<div style="position: relative; padding-bottom: 56.25%; overflow: hidden;">
2+
<iframe style="position: absolute; width: 100%; height: 100%;"
3+
src="http://www.youtube.com/embed/{{ index .Params 0 }}" allowfullscreen frameborder="0">
4+
</iframe>
5+
</div>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<div>
2+
<a href="https://www.youtube.com/watch?v={{.Get "id"}}&list=PLiwhu8iLxKwL1TU0RMM6z7TtkyW-3-5Wi&index={{.Get "playlistIndex"}}&ab_channel=PhilipStarritt">
3+
<img src="https://img.shields.io/youtube/views/{{.Get "id"}}?style=social" />
4+
</a>
5+
<a href="https://www.youtube.com/watch?v={{.Get "id"}}&list=PLiwhu8iLxKwL1TU0RMM6z7TtkyW-3-5Wi&index={{.Get "playlistIndex"}}&ab_channel=PhilipStarritt">
6+
<img src="https://img.shields.io/youtube/likes/{{.Get "id"}}?style=social" />
7+
</a>
8+
<a href="https://www.youtube.com/watch?v={{.Get "id"}}&list=PLiwhu8iLxKwL1TU0RMM6z7TtkyW-3-5Wi&index={{.Get "playlistIndex"}}&ab_channel=PhilipStarritt">
9+
<img src="https://img.shields.io/youtube/comments/{{.Get "id"}}?style=social" />
10+
</a>
11+
</div>

0 commit comments

Comments
 (0)