Nauka Scali i Akki — zbiór małych, niezależnych projektów. Każdy ma własny
build.sbt, Dockerfile i README, więc otwiera się i uruchamia osobno.
| Projekt | Opis | Stack |
|---|---|---|
| 01-kalkulator | Kalkulator na aktorach Akka: dodawanie, odejmowanie, mnożenie, dzielenie | Scala 2.13, Akka 2.6.21 |
| 02-licznik | Licznik na aktorze Akka: increment, decrement, reset, odczyt | Scala 2.13, Akka 2.6.21 |
| 03-http-api | REST na Akka HTTP: licznik plus /health, /ready i /metrics dla Prometheusa |
Scala 2.13, Akka HTTP 10.2.10, Docker |
| 04-scala-docker-app | Backend Cask + PostgreSQL + frontend nginx, całość na Docker Compose | Scala 2.13, Cask, PostgreSQL, Docker |
W korzeniu repo nie ma build.sbt — każdy projekt uruchamia się ze swojego
folderu:
cd 03-http-api
sbt run # albo: docker compose up -d --build
sbt testW IntelliJ otwieraj build.sbt wybranego podprojektu, nie folder repo.
Szczegóły w README każdego z nich.
.github/workflows/ci.yml, wyzwalany przy pushu i PR do main:
test— macierz po wszystkich czterech projektach,sbt testna Javie 17 (tej samej, na której działają obrazy runtime)build— obraz Dockera każdego projektu, tagowany pogithub.sha, alatesttylko z gałęzi domyślnej. Na pull requeście obraz się buduje, ale nie trafia do rejestrucompose-smoke— podnosi04-scala-docker-appprzez Compose i sprawdza end-to-end, że frontend się serwuje, proxy działa i wpis dociera do bazy
Obrazy na Docker Hubie: kaamara/scala-akka-kalkulator,
kaamara/scala-akka-licznik, kaamara/scala-akka-http-api,
kaamara/scala-docker-app.