~/talk

Living on the Edge: Designing Relational Data in GraphQL

Talkat GraphQL Summit 2023 · 2023-10-09..10-13· [api-design, graphql]
links:none on file
links:none on file
slides:none on file

Builds a GraphQL schema for authors readers and books using Relay cursor pagination and explicit connection and Edge types, moves denormalized totals onto authorBookConnection instead of user, and relocates start/finish timestamps onto authorBookEdge and readerBookEdge so relationship data isn’t stored on Book. Adds a reverse bookReaderConnection to list readers of a book. Results: queries return correct totals and per-relationship timestamps and prevent the earlier bug that exposed wrong permissions when traversing alternate query paths.

AI-written summary · about

  1. 0:00Introduction to speakers
  2. 0:44Schema design challenges
  3. 2:08Building a schema incrementally
  4. 3:31Starting with basic types
  5. 4:35Adding author book list
  6. 5:39Implementing pagination
  7. 8:51Adding total book count
  8. 11:18Adding reader book list
  9. 13:01Adding writing timestamps
  10. 14:04Adding reading timestamps
  11. 16:08Viewing others' reading data
  12. 17:54Revisiting schema guidelines
  13. 19:37Moving fields to edge types
  14. 21:27Adding reverse connection
  15. 22:32Final schema overview
  16. 23:36Real-world application
  17. 24:18Key learnings from exercise
  18. 26:04Three schema design guidelines
  19. 27:07Q&A and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.