All Projects → jan0sch → pfhais

jan0sch / pfhais

Licence: CC-BY-SA-4.0 License
Source code of the book Pure functional HTTP APIs in Scala including a chapter about upgrading to Scala 3.

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to pfhais

typelevel-stack.g8
📚 Unofficial Giter8 template for the Typelevel Stack (Http4s / Doobie / Circe / Cats Effect / Fs2) based on Cats v1.x.x
Stars: ✭ 63 (+31.25%)
Mutual labels:  http4s, fs2, cats-effect
pfps-examples
🏮 Standalone examples shown in the book "Practical FP in Scala: A hands-on approach"
Stars: ✭ 167 (+247.92%)
Mutual labels:  fs2, monocle, cats-effect
scala-functional-programming-tutorial
Functional Programming in Scala Tutorial
Stars: ✭ 23 (-52.08%)
Mutual labels:  http4s, fs2, cats-effect
spotify-next
Small CLI app for filtering out music on Spotify.
Stars: ✭ 45 (-6.25%)
Mutual labels:  http4s, cats-effect
zio-http4s-example
For anyone who's struggling to put an http4s server together with ZIO
Stars: ✭ 19 (-60.42%)
Mutual labels:  http4s, cats-effect
idealingua-v1
IdeaLingua RPC for Scala, TypeScript, C#, Go
Stars: ✭ 13 (-72.92%)
Mutual labels:  http4s, cats-effect
influencer-stats
Playground for measuring performance of functional programming tools in Scala. Gathers statistics about videos.
Stars: ✭ 24 (-50%)
Mutual labels:  http4s, cats-effect
telegram-bot-fs2
Example telegram bot implementation using fs2 and http4s client (no akka)
Stars: ✭ 41 (-14.58%)
Mutual labels:  http4s, fs2
classy-optics
🔎 Source code shown at my talks at Scale by the Bay 2018 and Scalar 2019
Stars: ✭ 25 (-47.92%)
Mutual labels:  http4s, cats-effect
meteor
https://d2a4u.github.io/meteor/
Stars: ✭ 17 (-64.58%)
Mutual labels:  fs2, cats-effect
tradeio
A disciplined way to purely functional domain models in Scala
Stars: ✭ 19 (-60.42%)
Mutual labels:  http4s, cats-effect
fs2-es
Event sourcing utilities for FS2
Stars: ✭ 75 (+56.25%)
Mutual labels:  fs2, cats-effect
swam
WebAssembly engine in Scala
Stars: ✭ 38 (-20.83%)
Mutual labels:  fs2, cats-effect
fs2-google-pubsub
Google Cloud Pub/Sub stream-based client built on top of cats-effect, fs2 and http4s.
Stars: ✭ 32 (-33.33%)
Mutual labels:  fs2, cats-effect
tutorials
🎥 Source code of the examples shown in the video tutorials
Stars: ✭ 18 (-62.5%)
Mutual labels:  fs2, cats-effect
http4s-good-practices
Collection of what I consider good practices in Http4s (WIP)
Stars: ✭ 74 (+54.17%)
Mutual labels:  http4s, fs2
fs2-ftp
Simple client for Ftp/Ftps/Sftp
Stars: ✭ 24 (-50%)
Mutual labels:  fs2, cats-effect
console4cats
💻 Effect-type agnostic Console I/O for Cats Effect (archived, use Cats Effect 3 instead)
Stars: ✭ 55 (+14.58%)
Mutual labels:  cats-effect
http4s-dom
http4s, in a browser near you
Stars: ✭ 13 (-72.92%)
Mutual labels:  http4s
free-monads-functional-web-apps
Delving into Free Monads and using them to write pure functional web applications
Stars: ✭ 18 (-62.5%)
Mutual labels:  http4s

Pure functional HTTP APIs in Scala

Build Status codecov

This repository contains the source code for the book "Pure functional HTTP APIs in Scala" which is available on Leanpub: https://leanpub.com/pfhais

While Leanpub is the recommended source the book is also available at:

An online course based upon the book was done by Educative: https://www.educative.io/courses/pure-functional-http-apis-scala

Structure

The folder manuscript contains the book source code and other resources like images. The service implementations are placed in the folders impure and pure. Within the folder tapir you can find the pure implementation which uses the tapir library for a typed API design.

Build Tooling

All project modules can be compiled, run and tested via sbt. Just open a terminal in the desired folder (e.g. pure) and start the sbt shell.

If you are using the IntelliJ IDEA development environment then you will need to install the Scala plugin for it. Afterwards you should be able to create IDEA projects by using the "Import Project" feature and point it to the desired folder (e.g. tapir).

Copyleft Notice

This book uses the Creative Commons Attribution ShareAlike 4.0 International (CC BY-SA 4.0) license. The code snippets in this book are licensed under CC0 which means you can use them without restriction. Excerpts from libraries maintain their license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].