{"repo":"geirolz/fp-microservice","free":true,"listed":false,"github":"https://github.com/geirolz/fp-microservice","clone":"git clone https://github.com/geirolz/fp-microservice.git","description":"A purely functional microservice template in Scala","language":"Scala","stars":12,"topics":["scala","cats","functional-programming","microservice","fp","distributed-systems","kafka","template"],"license":null,"category":"data-pipelines","readme_excerpt":"Purely Functional HTTP microservice Simple POC for dockerized HTTP microservice using Scala in a functional programming way. 1. Prerequisites 2. Stack 3. Usage 4. Customize 5. Roadmap Prerequisites - JDK 17 (jenv can help) - SBT - Docker - Minikube - Terraform Stack Application stack SCOPE TECH ------------------------------------- -------------------------------------------------------------------------- ✅ Effects cats-effect ✅ Logging log4cats ✅ Jdbc (plain, transactions, etc..) doobie ✅ Db migration fly4s ✅ Http client and server http4s ✅ Http route definitions tapir ✅ Config pureconfig ✅ Json circe ✅ Refinement types refined ⬜ Unit tests munit ⬜ IT tests testcontainers Infrastructure stack SCOPE TECH --------------------------- -------------------------------------------------------------------------------------- ⬜ Project as template g8 ✅ Containerized app Docker via DockerSbt ⬜ Containers orchestrator K8s ⬜ Service mesh Istio Local Usage First of all you have to publish the docker image of the app into your local repository with Then you can choose to either run the app with docker-compose or minikube . Docker Run the deploy script to run the app and the database with docker-compose ⚠️ You should use http and not https beware that Chrome by default use https Minikube Run the deploy script to run the app and the database with minikube. Services are not port forwarded by default. Customize To customize this project please read the guide","default_branch":null,"files":null,"tree":[],"storefront":"/r/geirolz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/geirolz/fp-microservice/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}