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