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
  • SonarQube - Static code analysis for 29 languages.
  • InfluxDB - Access the most powerful time series database as a service
  • SaaSHub - Software Alternatives and Reviews
  • 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.

  • 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.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • 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.

  • 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

  • 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.

  • Http4s

    A minimal, idiomatic Scala interface for HTTP

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

  • intro-cats-effect

    Slides and video recording for my "Intro to Cats-Effect" talk

    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.

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • 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