diff --git a/README.md b/README.md
index 30dc677..13be882 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
[](https://github.com/arcan1s/ffxivbis/actions/workflows/run-tests.yml) 
-Service which allows to manage savage loot distribution easy.
+Service which allows managing savage loot distribution easy.
## Installation and usage
@@ -12,7 +12,7 @@ In general compilation process looks like:
sbt dist
```
-Or alternatively you can download latest distribution zip from the releases page. Service can be run by using command:
+Or alternatively you can download the latest distribution zip from the releases page. Service can be run by using command:
```bash
bin/ffxivbis
diff --git a/libraries.sbt b/libraries.sbt
index 3499008..7f38267 100644
--- a/libraries.sbt
+++ b/libraries.sbt
@@ -1,5 +1,6 @@
val AkkaVersion = "2.6.17"
val AkkaHttpVersion = "10.2.7"
+val ScalaTestVersion = "3.2.10"
val SlickVersion = "3.3.3"
libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.2.9"
@@ -10,7 +11,7 @@ libraryDependencies += "com.typesafe.akka" %% "akka-http-spray-json" % AkkaHttpV
libraryDependencies += "com.typesafe.akka" %% "akka-actor-typed" % AkkaVersion
libraryDependencies += "com.typesafe.akka" %% "akka-stream" % AkkaVersion
libraryDependencies += "com.github.swagger-akka-http" %% "swagger-akka-http" % "2.6.0"
-libraryDependencies += "javax.ws.rs" % "javax.ws.rs-api" % "2.1.1"
+libraryDependencies += "jakarta.platform" % "jakarta.jakartaee-web-api" % "9.1.0"
libraryDependencies += "io.spray" %% "spray-json" % "1.3.6"
libraryDependencies += "com.lihaoyi" %% "scalatags" % "0.9.2"
@@ -23,10 +24,9 @@ libraryDependencies += "org.postgresql" % "postgresql" % "42.3.1"
libraryDependencies += "org.mindrot" % "jbcrypt" % "0.4"
-
// testing
-libraryDependencies += "org.scalactic" %% "scalactic" % "3.2.10" % "test"
-libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test"
+libraryDependencies += "org.scalactic" %% "scalactic" % ScalaTestVersion % "test"
+libraryDependencies += "org.scalatest" %% "scalatest" % ScalaTestVersion % "test"
libraryDependencies += "com.typesafe.akka" %% "akka-actor-testkit-typed" % AkkaVersion % "test"
libraryDependencies += "com.typesafe.akka" %% "akka-stream-testkit" % AkkaVersion % "test"
diff --git a/src/main/resources/swagger/index.html b/src/main/resources/swagger/index.html
index 6116952..cdee79d 100644
--- a/src/main/resources/swagger/index.html
+++ b/src/main/resources/swagger/index.html
@@ -1,7 +1,7 @@
- ReDoc
+ FFXIV loot tracker API
diff --git a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/BiSEndpoint.scala b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/BiSEndpoint.scala
index c6e06c4..723c3c1 100644
--- a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/BiSEndpoint.scala
+++ b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/BiSEndpoint.scala
@@ -19,7 +19,7 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody
import io.swagger.v3.oas.annotations.responses.ApiResponse
import io.swagger.v3.oas.annotations.security.SecurityRequirement
import io.swagger.v3.oas.annotations.{Operation, Parameter}
-import javax.ws.rs._
+import jakarta.ws.rs._
import me.arcanis.ffxivbis.http.api.v1.json._
import me.arcanis.ffxivbis.http.{Authorization, BiSHelper}
import me.arcanis.ffxivbis.messages.{BiSProviderMessage, Message}
@@ -27,7 +27,7 @@ import me.arcanis.ffxivbis.models.PlayerId
import scala.util.{Failure, Success}
-@Path("api/v1")
+@Path("/api/v1")
class BiSEndpoint(override val storage: ActorRef[Message], override val provider: ActorRef[BiSProviderMessage])(implicit
timeout: Timeout,
scheduler: Scheduler
diff --git a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/LootEndpoint.scala b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/LootEndpoint.scala
index 437821d..f5f695a 100644
--- a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/LootEndpoint.scala
+++ b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/LootEndpoint.scala
@@ -19,7 +19,7 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody
import io.swagger.v3.oas.annotations.responses.ApiResponse
import io.swagger.v3.oas.annotations.security.SecurityRequirement
import io.swagger.v3.oas.annotations.{Operation, Parameter}
-import javax.ws.rs._
+import jakarta.ws.rs._
import me.arcanis.ffxivbis.http.api.v1.json._
import me.arcanis.ffxivbis.http.{Authorization, LootHelper}
import me.arcanis.ffxivbis.messages.Message
@@ -27,7 +27,7 @@ import me.arcanis.ffxivbis.models.PlayerId
import scala.util.{Failure, Success}
-@Path("api/v1")
+@Path("/api/v1")
class LootEndpoint(override val storage: ActorRef[Message])(implicit timeout: Timeout, scheduler: Scheduler)
extends LootHelper
with Authorization
diff --git a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/PartyEndpoint.scala b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/PartyEndpoint.scala
index f41806a..3174882 100644
--- a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/PartyEndpoint.scala
+++ b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/PartyEndpoint.scala
@@ -19,14 +19,14 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody
import io.swagger.v3.oas.annotations.responses.ApiResponse
import io.swagger.v3.oas.annotations.security.SecurityRequirement
import io.swagger.v3.oas.annotations.{Operation, Parameter}
-import javax.ws.rs._
+import jakarta.ws.rs._
import me.arcanis.ffxivbis.http.api.v1.json._
import me.arcanis.ffxivbis.http.{Authorization, PlayerHelper}
import me.arcanis.ffxivbis.messages.{BiSProviderMessage, Message}
import scala.util.{Failure, Success}
-@Path("api/v1")
+@Path("/api/v1")
class PartyEndpoint(override val storage: ActorRef[Message], override val provider: ActorRef[BiSProviderMessage])(
implicit
timeout: Timeout,
diff --git a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/PlayerEndpoint.scala b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/PlayerEndpoint.scala
index 44b543d..5b1d930 100644
--- a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/PlayerEndpoint.scala
+++ b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/PlayerEndpoint.scala
@@ -19,7 +19,7 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody
import io.swagger.v3.oas.annotations.responses.ApiResponse
import io.swagger.v3.oas.annotations.security.SecurityRequirement
import io.swagger.v3.oas.annotations.{Operation, Parameter}
-import javax.ws.rs._
+import jakarta.ws.rs._
import me.arcanis.ffxivbis.http.api.v1.json._
import me.arcanis.ffxivbis.http.{Authorization, PlayerHelper}
import me.arcanis.ffxivbis.messages.{BiSProviderMessage, Message}
@@ -27,7 +27,7 @@ import me.arcanis.ffxivbis.models.PlayerId
import scala.util.{Failure, Success}
-@Path("api/v1")
+@Path("/api/v1")
class PlayerEndpoint(override val storage: ActorRef[Message], override val provider: ActorRef[BiSProviderMessage])(
implicit
timeout: Timeout,
diff --git a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/TypesEndpoint.scala b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/TypesEndpoint.scala
index e009720..1df51c2 100644
--- a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/TypesEndpoint.scala
+++ b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/TypesEndpoint.scala
@@ -14,11 +14,11 @@ import com.typesafe.config.Config
import io.swagger.v3.oas.annotations.media.{ArraySchema, Content, Schema}
import io.swagger.v3.oas.annotations.responses.ApiResponse
import io.swagger.v3.oas.annotations.Operation
-import javax.ws.rs._
+import jakarta.ws.rs._
import me.arcanis.ffxivbis.http.api.v1.json._
import me.arcanis.ffxivbis.models.{Job, Party, Permission, Piece, PieceType}
-@Path("api/v1")
+@Path("/api/v1")
class TypesEndpoint(config: Config) extends JsonSupport {
def route: Route = getJobs ~ getPermissions ~ getPieces ~ getPieceTypes ~ getPriority
diff --git a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/UserEndpoint.scala b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/UserEndpoint.scala
index d5b9597..9726566 100644
--- a/src/main/scala/me/arcanis/ffxivbis/http/api/v1/UserEndpoint.scala
+++ b/src/main/scala/me/arcanis/ffxivbis/http/api/v1/UserEndpoint.scala
@@ -19,7 +19,7 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody
import io.swagger.v3.oas.annotations.responses.ApiResponse
import io.swagger.v3.oas.annotations.security.SecurityRequirement
import io.swagger.v3.oas.annotations.{Operation, Parameter}
-import javax.ws.rs._
+import jakarta.ws.rs._
import me.arcanis.ffxivbis.http.api.v1.json._
import me.arcanis.ffxivbis.http.{Authorization, UserHelper}
import me.arcanis.ffxivbis.messages.Message
@@ -27,7 +27,7 @@ import me.arcanis.ffxivbis.models.Permission
import scala.util.{Failure, Success}
-@Path("api/v1")
+@Path("/api/v1")
class UserEndpoint(override val storage: ActorRef[Message])(implicit timeout: Timeout, scheduler: Scheduler)
extends UserHelper
with Authorization