Шаблон для быстрого старта нового проекта на Kotlin и Kora с базовым настроенным HTTP CRUD API для одной сущности. В качестве базы данных выступает Postgres, используется кэш Caffeine, а также другие модули которые использовались бы в реальном приложении в бою.
В шаблоне используются модули:
- HTTP сервер
- OpenAPI HTTP серверная генерация
- Пробы
- Метрики
- JDBC база данных
- JSON конвертация
- Отказоусточивость
- Валидация
- Caffeine кеш
Собрать классы (может потребоваться запустить 2 раза из-за Kotlin APT & KSP):
./gradlew classes
Собрать артефакт:
./gradlew distTar
Сгенерировать API для HTTP Server:
./gradlew openApiGenerateHttpServer
Собрать образ приложения:
docker build -t kora-kotlin-crud .
Запустить локально:
./gradlew run
Миграции вызываются с помощью Flyway Gradle Plugin:
./gradlew flywayMigrate
Тесты используют Testcontainers, требуется Docker окружение для запуска тестов или аналогичные контейнерные окружения (colima / итп)
Протестировать локально:
./gradlew test