Тестовое задание и его эталонное решение на позицию «Backend разработчик (Spring\Java\Kotlin)» Разработать RESTful сервис, который позволит управлять списком грузовиков. Должна быть возможность выполнения crud-операций над данными. Данные должны храниться в базе данных PostgreSQL. Описание модели данных. Сущность «Грузовик» должна иметь следующие атрибуты: • id — уникальный идентификатор, тип Long • name — название грузовика, тип String • price — цена, тип Float • comment — текстовый комментарий, тип String Описание представления данных. { "id": 9472, "name": "Kamaz", "price": 75950.50, "comment": "Best truck" } Требуется реализовать следующие конечные точки RESTful API: GET /trucks — получить список всех грузовиков сохраненных на сервере. GET /trucks/{id} — получить грузовик по id. POST /trucks — добавить новый грузовик на сервер. Сущность передается в теле запроса. PUT /trucks/{id} — обновить данные о грузовике на сервере. ВСЕ данные грузовика передаются в теле. DELETE /trucks/{id} — удалить грузовик на сервере по id. DELETE /trucks — удалить все грузовики на сервере. В ответах на ВСЕ запросы, должны быть правильные коды состояний http. Требования к реализации. Стек: • Spring Boot версии не ниже 2.1.6 • PostrgeSQL версии не ниже 10.3 • Docker Compose • Java или openjdk версии не ниже 8 • Языки: Java или Kotlin на выбор Развертывание: RESTful сервис будет развертываться в тестовом окружении на хостовой операционной системе ubuntu server 16.04 в среде Docker Compose. Приложение сервера и СУБД должны находится в разны docker-контейнерах (мульти-контейнерное приложение docker compose). Сервер должен отвечать на запросы к localhost:8080 . Сервис должен для запуска требовать ТОЛЬКО ОДНУ команду в терминале (никаких sh-скриптов): docker-compose up Критерии оценки: Понимание разработки rest-сервисов на Spring Boot, понимание лучших практик разработки RESTful API, применение паттернов проектирования, применение асинхронности\многопоточности.