Repository to hold Sentency server code. The server is be done using Ktor, a simple web framework for Kotlin.
Ktor come with built-in libraries but it's mostly a "plug what you need" type of framework, because of that we had to add some third party libraries to fill some gaps:
The project is configured to be deployed using docker. First step is to create the distribution of the application (in this case using Gradle):
./gradlew installDist
To build the docker image go to the root of the project and run the command:
docker build -t sentency-server .
After the image is build to run locally you can execute:
docker run -p 7000:7000 sentency-server:latest
The project load environment variables to fill some important parameters on the server. They can be defined when running the docker image, on the docker-compose or in the environment itself.
To generate test coverage report Jacoco was configured as an extension of the test task. Execute the command:
./gradlew test
to execute tests and generate code coverage reports.