lewapek / DontLetExpireApp

Scala3 + ZIO2 app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DontLetExpire app

Description

Simple app demonstrating the following stuff in action:

  • Scala3
  • ZIO2
  • Cats
  • Caliban (Graphql)
  • ZQuery
  • Http4s
  • Circe (Json)
  • Doobie (with Postgres)

With the app you can monitor products you bought, so if any of the product is about to expire you can view it on the top of the list - therefore you are more likely to not let it expire ;)

Endpoints

  • /graphql
  • /healthcheck

Containerization

App can be containerized using Docker.

Building

./build.sh

Running container locally

You need to build first and then:

./local-postgres.sh restart
docker run dontletexpireapp:$(head -1 version)

Tests

Unit tests

sbt test

Integration tests

./local-postgres.sh restart
sbt IntegrationTest/test

About

Scala3 + ZIO2 app

License:MIT License


Languages

Language:Scala 97.7%Language:Shell 1.8%Language:Dockerfile 0.6%