Skip to content

Latest commit

 

History

History

README.md

Kora Java Submodule CRUD Service

Пример сервиса реализованного на Kora с упрощенным HTTP CRUD API использующий разделение сервиса на проектные модули по функциональности, в качестве базы данных выступает Postgres, используется кэш Caffeine, а также другие модули которые использовались бы в реальном приложении в бою.

В примере использовались модули:

Основной функционал и точка входа в приложение находится в модуле kora-java-crud-submodule-app.

Build

Собрать классы:

./gradlew classes

Собрать артефакт:

./gradlew distTar

Generate

Сгенерировать API для HTTP Server:

./gradlew openApiGenerateHttpServer

Image

Собрать образ приложения:

docker build -t kora-java-crud-submodule .

Migration

Миграции вызываются с помощью Flyway Gradle Plugin:

./gradlew flywayMigrate

Run

Перед запуском локально требуется запустить базу Postgres и накатить миграции.

Запустить локально:

./gradlew run

Run Docker-Compose

Требуется сначала собрать артефакт:

./gradlew distTar

Запустить как docker-compose:

docker-compose up

Test

Тесты используют Testcontainers, требуется Docker окружение для запуска тестов или аналогичные контейнерные окружения (colima / итп)

Протестировать локально:

./gradlew test