~/talk

Designing a Flexible UI Architecture with React and GraphQL

Talkat NDC Minnesota 2019 · 2019-05-06..05-09· [react, graphql]
slides:none on file

A schema-driven UI is implemented with React, Redux, TypeScript, GraphQL and an Apollo + Redis cache to ship a UI schema that encodes validation, display hints, and attribute relationships. The system handles cached human-friendly values to avoid hundreds of browser requests, supports manage up to 200 items in a session with optimistic, batched saves, reduces attribute rollout from months to minutes, requires ~1 year of effort and ~1,000 tests, and successfully prevents many class-of-data-quality bugs.

AI-written summary · about

  1. 0:00Intro
  2. 5:15ITEM DATA IS COMPLEX
  3. 7:52CHALLENGES
  4. 14:14RETHINKING ITEM DATA
  5. 16:08DATA SCHEMA
  6. 21:25A SCHEMA-DRIVEN UI
  7. 22:52HIGH-LEVEL ARCHITECTURE
  8. 25:51DATA RESOLUTION
  9. 29:53SCHEMA ENGINE
  10. 33:32WHY GRAPHQL?
  11. 40:59DYNAMIC RENDERING
  12. 46:09RELATIONSHIP SEMANTICS
  13. 48:14MULTI-ITEM HANDLING
  14. 51:48ASYNC AND OPTIMISTIC
  15. 58:45WHERE CAN YOU START?
~/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.