Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How Canner.io Build GraphQL for CMS
Search
wwwy3y3
June 21, 2018
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How Canner.io Build GraphQL for CMS
Gave this speak at GraphQL Taiwan Meetup on 2018/6/20
How Canner.io Build GraphQL for CMS
wwwy3y3
June 21, 2018
More Decks by wwwy3y3
See All by wwwy3y3
React server-side render nightmare gone
wwwy3y3
0
670
spark serialization
wwwy3y3
0
230
classical ciphersin python
wwwy3y3
0
69
nodeJS 入門警戒 @wheelLab
wwwy3y3
2
250
Other Decks in Technology
See All in Technology
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
300
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
900
古い指輪から広がった JAVA コミュニティ とのつながり
yamad
0
120
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
630
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
950
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
250
Optunaの最新リリースv5.0について
pfn
PRO
0
120
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
780
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.1k
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
110
hackers_champloo_2026_tidb
makocchi
0
170
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
2
4.1k
Documentation Writing (for coders)
carmenintech
77
5.6k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Accessibility Awareness
sabderemane
1
250
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Abbi's Birthday
coloredviolet
4
10k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Building an army of robots
kneath
307
47k
Transcript
GraphQL for CMS @wwwy3y3 How Canner.io Build
Who am I • @wwwy3y3 • CTO & Co-founder @
canner.io • React, Typescript, NodeJS, Docker, Terraform. • JSDC, COSCUP speaker
ToC • Talk a little bit about CMS • Why
we need GraphQL at Canner CMS • Why we develop apollo-link-firebase • How we develop GraphQL interface for canner.io
What is “CMS” ? • CMS stands for “Content Management
System”
CMS & GraphQL?
How we see CMS
How we see CMS • The Rise of BaaS. •
Parse, Firebase, Graphcool…
Adaptive CMS • a CMS adapt to different APIs.
Before GraphQL
Apollo
Apollo Client • Great support for React, Typescript • Great
document • Create development experience (apollo-dev-tools) • Support Server-side Render • Opensource
Apollo Client - Cache • apollo-cache-inmemory is the default cache
implementation for Apollo Client • Cache by ID (id, or _id) & __typename, if not exist, fallback to Query path (ROOT_QUERY.allPeople.0)
Apollo-link • A powerful way to compose actions around data
handling with GraphQL • apollo-link-dedup: Deduplicate matching requests before making a request
Apollo-link • Operation: query, variables, operationName… • Forward: Specifies the
next link.
Apollo-link-firebase • A simple way to query Firebase in graphQL
without building a graphQL server • https://github.com/Canner/apollo-link-firebase
Apollo-link-firebase
Apollo-link-firebase • Query: All sorting and filtering are supported. •
Mutation: deal with set, update, remove methods with graphQL mutation. • Realtime Subscription: Listen to your Firebase events using graphQL Subscription. • Data Join: Retrieve your data from different paths using one graphQL.
Apollo-link-firebase • Don’t make developers learn the GraphQL
Apollo-link-firebase • GraphQL directives
Apollo-link-firebase • Working with list of data: @array
Apollo-link-firebase
Apollo-link-firebase
How Canner use Apollo
Canner GraphQL Interface • A GraphQL interface for View Layer
• https://github.com/Canner/canner-graphql-interface
Prisma
Prisma
Prisma
Prisma
Prisma
Prisma
Connector
Connector
Design Scalars • File, Image, DateTime, GeoPoint, Json
Connect to Prisma • Problem • More strict GraphQL •
Type transformation • Query/Mutation transformation
Strict GraphQL
Transformation • Canner Support Customized Scalars: • Image, File, Geopoint…
could be Embed or JSON type • Query: remove fields if transformed to JSON type • Mutation: update payload based on type
Transformation
Thank you