[Backend] Приложение для хранения информации о кинолентах
Приложение реализовано с помощью фреймворка Spring (Boot, Data, WebMVC). Сборка с помощью Kotlin Gradle
Также были использованы следующие библиотеки:
- spring-data-kotlin-jdsl-starter - надстройка над Criteria API для выборки данных на основе спецификаций
- mockk и springmockk - для реализации тестов (удобный инструмент для kotlin)
Вы можете запустить приложение с помощью команды:
$ ./gradlew bootRun
Настроен SwaggerUI + генерация OpenAPI документации. Доступна при развернутом приложении по адресу:
- http://localhost:8080/swagger-ui.html - SwaggerUI
- http://localhost:8080/v3/api-docs - Сгенерированная OpenAPI документация (с помощью springdoc)
Настроен actuator с default проверкой метрик (приложение поднято)
Все доступные url пути можно посмотреть по адресу http://localhost:8080/actuator
Приложение собирается со всеми зависимостями в единый jar файл по умолчанию. Собрать приложение в один испольняемые jar файл можно с помощью команды:
$ ./gradlew bootJar
Запустить приложение из консоли можно следующей командой:
$ {PROJECTDIR}/build/libs/java -jar movielibrary-0.0.1-SNAPSHOT.jar
Настроено логирование в консоль и в файл. Логи сохраняются в файл log.log, находящийся в папке logs (создается при старте приложения). Логи при достижении лимита в 10МБ режутся по файлам и складываются в папку logs/archived
Ссылка на GitHub Project. Можно увидеть декомпозицию задачи и процесс ее решения
Под лицензией Apache 2.0