Полный рефакторинг (не переписывание с нуля) бэкэнда проекта с хакатона РГСУ
Что изменилось?
Использована нормальная архитектура с теперь уже значительно более глубоким знанием Spring
Активное использование Spring Data JPA и Derived Queries вместе с JPQL вместо JdbcTemplate
Валидация всего и вся ещё на этапе запроса с помощью кастомных валидаторов, в т.ч. с использованием SpEL
Возможность развертывать проект через Docker вместе с PostgresQL через docker-compose, в котором используется билд контейнера через native-image
Полностью переделана схема API, хотя смысловая нагрузка у эндпоинтов та же самая (новый формат + версионирование: /api/v2/...)
Что НЕ изменилось?
Схема ответов ({"ok": true, "games": [...]}), код ответов (responses) практически не изменился
Схема БД, однако были сняты некоторые NOT NULL constraint'ы и значения по-умолчанию в пользу NULL и добавлены указания на то что некоторые поля являются fk (references(...))