Example of building web apis (functionally) in Scala

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/scala

Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • OPS - Build and Run Open Source Unikernels
  • Scout APM - Less time debugging, more time building
  • GitHub repo scala-pet-store

    An implementation of the java pet store using FP techniques in scala

    https://github.com/pauljamescleary/scala-pet-store My case is the first one. I've been working with scala for a while using Akka actors, Akka http and Play and I would like to see the FP scala concept and its libraries working in a real project.

  • GitHub repo pfps-shopping-cart

    :shopping_cart: The Shopping Cart application developed in the book "Practical FP in Scala: A hands-on approach"

    Read the book "Practical FP in Scala" by Gabriel Volpe _(aka gvolpe). - This one to see how to use all the previous knowledge on building a real-world application.

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • GitHub repo tagless-final

    [Moved to: https://github.com/DevInsideYou/tagless-final]

    https://github.com/devinsideyou/tagless-final Full disclosure: it's mine. Note: there are 2 projects in this directory and so `todo` is the one you want.

  • GitHub repo caliban-talk

    For GQL I would use Caliban, here is my older example project https://github.com/fokot/caliban-talk and for REST Tapir + ZIO https://tapir.softwaremill.com/en/latest/endpoint/zio.html

  • GitHub repo BootZooka

    Simple project to quickly start developing a Scala-based microservice or web application, without the need to write login, user registration etc.

    For an example app utilizing the Typelevel pure FP ecosystem you can check out https://softwaremill.github.io/bootzooka which is pretty much the same as what we use at work too.

  • GitHub repo Http4s

    A minimal, idiomatic Scala interface for HTTP

    http4s, https://http4s.org/, its a good lightweight framework for building IO based REST APIs.

  • GitHub repo intro-cats-effect

    Slides and video recording for my "Intro to Cats-Effect" talk (by Daenyth)

    Read the docs on the cats-effect website and then solve the tutorial on your own, do not look at the provided answers / code snippets. I also recommend you the talk "Intro to cats effect" by Gavin Bisesi (aka Daenyth). - This one to getting familiar with the IO monad and understand why it it useful.

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • GitHub repo FS2

    Compositional, streaming I/O library for Scala

    Watch the talk "Streams - Your New Favorite Primitive" by Ryan Peters (aka sloshy) and then looking into the docs of fs2. - This one to learn one of the most used / useful libraries of the typelevel ecosystem to process data.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts