Avoid mistakes in API design, implementation and evolution with Smithy
Most back-end projects eventually reach a point when they have to define an API. We implement their routes, document them, sometimes we write a client. We do essentially the same work multiple times - each view of an endpoint contains the same path, and yet we don't have a "single source of truth".
In this talk, I'll show how Smithy (https://smithy.io) and smithy4s enable defining an API in a single place, and how they make it easy to build its server, client, and even a CLI - in a Scala-friendly, tooling-compatible way.
A short case study of a real production issue that was debugged, minimized, and fixed using property-based testing.
A blueprint and approach for building end-to-end, full-stack applications in Scala 3
Let's go through some libraries from ZIO ecosystem that will allow us to implement API layer with ZIO HTTP
I'll share a handful of techniques that can help you avoid runtime errors and shift them to the realm of compile time