Wednesday, October 27, 2021
Trainer: Adam Warski
It's about time to leverage the new features available in Scala3! A number of libraries have been updated, making it possible to write fully-functional applications using the latest Scala version.
We'll create a basic application from scratch, exposing an HTTP API, using the following Scala3 features:
* enums to define data structures
* opaque types for even more type-safety
* typeclass derivation using the `derives` keyword
* extension methods
* new braceless syntax
The following Scala libraries will be involved:
* tapir for describing web endpoints
* http4s as the HTTP server implementation
* cats-effect to control effects and for asynchronous programming
If you've been using Scala 2 before, or if you are completely new to Scala - come and see how functional programmings works our in practice! No prior Scala experience is required.
*A starting repository and setup instructions will be provided for the attendees before the workshop.*
Workshop: Build a Production-ready Data Access Layer with GraphQL and Hasura (Speaker: Jesse Martin)
Speaker: Jesse Martin
In this live, hands-on workshop, we will introduce the concept of a data mesh, data federation with GraphQL and how to aggregate different APIs into a unified GraphQL layer with Hasura.
We will make use of database connections, external GraphQL APIs, REST APIs and establish relationships between them to create a powerful and secure API that can be consumed by any client.
It will cover:
- An introduction to GraphQL and the concept of the Data Mesh
- How to set up a GraphQL API using Hasura
- How to join across multiple data sources and APIs
- How to add use Hasura’s auth system to create roles and restrict access to data
- How to connect the GraphQL API to a frontend client
We will be using Hasura Cloud to create the backend, which is a hosted platform. If you’d like to use the open-source version of Hasura, you need to have docker installed on your machine with a version including docker compose.