Benjie loves using and talking about GraphQL, Node.js, PostgreSQL and React; he is the maintainer of PostGraphile, the original instant GraphQL API for your Postgres database.
Database-first GraphQL Development#
Learn by example how a database-centric approach to GraphQL API development can give your engineers more time to focus on the important parts of your application. Topics covered include authentication, authorization, adhering to GraphQL best practices, and avoiding common pitfalls.
Carolyn Stransky is a frontend developer and former technical writer based in Berlin. She currently works at Blacklane and teaches at ReDI School of Digital Integration. You’ll usually find her looking at memes or taking selfies in the nearest restroom.
Life is hard and so is learning GraphQL#
Learning a new technology can be daunting. For many of us, the way we try to make sense of a new technology is through their documentation and the examples we see online. The problem with GraphQL is that - because there’s no “vanilla” GraphQL - there’s no central hub for all of the information and tooling necessary to learn. While documentation is meant to serve as a tool for teaching, it’s underutilized and scattered throughout our community.
Consider this talk a voyage through the ups and downs of learning GraphQL. Along the way, we’ll touch on the major pain points faced by GraphQL beginners and how we can better enable our docs for learning and comprehension.
Dan Schafer is a software engineer at Facebook and a co-creator of GraphQL. He worked on the original GraphQL API for Facebook News Feed, developed Facebook’s GraphQL API Design principles, expanded GraphQL to support Mutations and Subscriptions, and contributed to the initial release of the GraphQL specification and reference implementation. Currently, he’s a tech lead on the Product Foundation team at Facebook, focused on building end-to-end client frameworks for development of the Facebook apps.
Ellie is a technologist, product engineer, speaker, teacher, and more. Currently, she works at Atlassian as a senior software engineer on the Statuspage team. In her spare time. she's the director of Women Who Code SF and helps early stage software teams scale their software platforms. Previously, she worked at Mavenlink, building highly usable and performant web products, like Full-Cycle Resource Management. Before Mavenlink, she led platform development for mRelief (YC W16), a tech non-profit, that has helped hundreds of thousands of low-income Americans get access to public assistance.
Glenn is a front-end Engineer, who builds modern user interfaces and apps with React & GraphQL, loves OSS, co-organizes ReactVienna meetups, and plays JM music on guitar.
Ivan is very active in GraphQL community and one of the core contributors to graphql-js. He is co-founder of APIs.guru which specializes in API consulting. During last few years they released a bunch of popular GraphQL tools including GraphQL Voyager.
Hidden gems of GraphQL query#
We all love GraphQL query syntax because it’s simple and easy to learn. At the same time, it has a few useful features that are typically overlooked. If you think that you already know everything about GraphQL queries this talk is for you. Warning: this talk will contain spoilers from GraphQL Specification.
Jimmy is a principal scientist and full-stack developer at Butterfly Network and 4Catalyzer. He is an advocate for GraphQL internally, and is committed to using machine learning and the web to save lives by advancing healthcare technology. He also maintains a number of open-source libraries within the GraphQL ecosystem.
Johannes Schickling is the co-founder & CEO of Prisma, a GraphQL-based data layer for modern applications. Johannes is interested in Technology, Developer Tools, Open Source, Startups & Music.
End-to-end type-safety with GraphQL#
GraphQL is becoming the new standard for API development and shows rapid adoption both on the client and server. This talk dives deep into one of the most powerful features of GraphQL - its type-system. See how GraphQL can be used to enable end-to-end type-safety across any language, making your application architecture more resilient and easier to evolve.
A Jazz guitarist turned developer, Marc-André is currently working at GitHub, where he is trying to help building better APIs. He is currently writing a book, The Little Book of GraphQL Design. When he's not hacking on or thinking about GraphQL, you might find him throwing heavy weights above his head.
GraphQL Schema Design#
Building a brand new GraphQL API? Migrating from a REST API? If you are interested in designing a GraphQL schema that is great to use by clients and stands the test of time, this workshop is for you.
Alternating between presentations and hands on exercices, this workshop will cover:
- Good development workflows to build GraphQL APIs
- Common anti-patterns
- How to build an evolvable schema
- How to approach a migration from another API
- Domain driven design & GraphQL
- How to design errors
- Must-have tooling for building GraphQL APIs at scale
- Many other great practices used in the largest GraphQL APIs out there!
For the exercices, we will only use the GraphQL SDL (Schema Definition Language), meaning you'll get to learn no matter what language you use to build your schema.
Mikhail is a GraphQL hipster. He started GraphQL startup before GraphQL was ever public. The startup failed, but Mikhail has been active in GraphQL community ever since, working on tools like Schema Stitching and Apollo Launchpad. He is one of the organizers of GraphQL Finland.
Building a GraphQL API with node.js#
Learn how to build a GraphQL API from scratch using Node.js. This workshop is aimed at GraphQL beginners, but you probably have built an API server before. We'll go through the basics of building a GraphQL API server, wrap a REST API with it and then connect it to a database.
The following topics will be covered:
- Basics of GraphQL on a server
- Resolver model
- Ways to define a GraphQL schema
- Schema first design
- Evolving the backing data service, without changing the schema
- Wrapping a REST API with GraphQL gateway
- Connecting to a database
Workshop will have an interactive format, where I will livecode, while explaining what I'm doing. There will also be short presentations and non-coding parts, where I will explain some of the advanced concepts.
At the end of the workshop you should be comfortable building a GraphQL API with node.js.
This workshop is only offered as a bundle deal with a conference.
Nik cares about good UX and development tools. He co-created several popular open source projects like DraftJS Plugins and Polished. Nik participated in Stripe’s Open Source Retreat and joined Serverless Inc. to deploy auto-scaling infrastructures. In his spare-time he enjoys writing code in Reason and play with WebVR as well as organising the ReactJS Vienna meetup.
Advanced GraphQL Concepts#
You understood the basics of GraphQL or even worked with it in a production environment? Then this workshop is for you. While GraphQL comes with many benefits it also requires some rethinking. For example how to secure your server from malicious queries or how to give different users access to different parts of the Schema.
We will answer these questions and many more by covering the following topics:
- Rate limiting
- Persistent Queries
- Schema stitching
- API Design
Every topic is covered by a 20 minute presentation followed by a hands on exercise. After every exercise we will briefly glance at a solution and move on to the next topic. For the exercises you can choose the programming language and tools of your choice. Just come prepared with a working GraphQL setup.
To goal is that by the end of the day you are way more comfortable making design decisions for your GraphQL environment.
Front-End Developer at @YLDio, open sorcerer, maker of useless modules, Blogger, Drummer and horror movie fan girl.
Let’s Learn GraphQL#
So you want to learn GraphQL? That is awesome! But like any other technology it's not easy to get started and get the basics of it mainly because all the docs are spread all over the place.
In this 8 hour workshop we will create a GraphQL server with Apollo Server, connect it to a Postgres database in Heroku to have a fully functional GraphQL Server.
After that we will jump to the frontend using React and Apollo to query and mutate a GraphQL Endpoint easily.
- Node installed, I have version 10.3.0 but anything that supports async await is great!
- I use yarn but npm is 💯
- Heroku Account - https://heroku.com/
- Postgres DB in Heroku - Video on how to do it: https://cdn.rawgit.com/SaraVieira/graphql-workshop/13d73f3b/howtoheroku.mp4
- CodeSanbox Account is preferred so you can keep all the files in your account
- React knowledge
- An overview of what GraphQL is
- The basics of a querying with GraphQL
- The basics of a mutations in GraphQL
- Connect to a Postgres DB
- Using context
- Make multiple requests in one Query
- Making simple queries with React and React-Apollo
- Making advanced queries with React and React-Apollo
- Creating our own query component
- Mutations with React Apollo
- Updating the UI automatically after a mutation
- Using pagination
This workshop is free. Tickets would be distributed through a diversity ticket program. Ticket will include a free ticket to the actual conference. Apply for a diversity ticket.
Tanmai is the co-founder of hasura.io. He is a StackOverflow powered fullstack, polyglot developer whose areas of interest and work span react, GraphQL, nodejs, python, haskell, docker, postgres, kubernetes. He is passionate about making it easy to build things and is the instructor of India's largest MOOC imad.tech with over 250,000 students.
Writing a realtime GraphQL backend as a compiler in Haskell#
At Hasura, we’ve been building a high-performance GraphQL backend that can handle a large number of subscription connections. We took a few interesting approaches to tackle this problem, and in this talk I’ll go over the key architectural decisions, programming constructs and of course the unforeseen implementation pitfalls we ran into. I’ll also cover tools from the Haskell ecosystem that made this possible. These are some of the topics I’ll touch upon:
- Fast GraphQL parsing with parser combinators
- Modelling and manipulating the GraphQL AST with algebraic data types
- Software Transactional Memory: Concurrency constructs for scaling graphql subscriptions