Требования
Обязательные: Многомодульный maven проект(3-level three-module development architecture) Система контроля версий - Git(Тестовый проект должен быть залит на GitHub и должен быть предоставлен к нему публичный доступ).
Технологии:
1 Java 11
2 Log4j2 как система логирования
3 Spring Boot 2(или Tomcat 9 + Spring 5)
4 Hibernate 5
5 MySQL 8
Опционально:
Использование Docker и Docker Compose для контейнеризации проекта
Unit и Integration тесты на приложение
Использование Liquibase/Flyway для миграции базы данных
API
Требования:
Формат: JSON
Архитектурный стиль: REST
Endpoint для добавления пользователя:
Основные поля:
Фамилия(40 символов, только латинские буквы)
Имя(20 символов, только латинские буквы)
Отчество(40 символов, только латинские буквы)
Email(50 символов, стандартный шаблон)
Role(Administrator, Sale User, Customer User, Secure API User)
Endpoint для получения всех пользователей:
Основные поля:
ФИО
Role
Записи должны быть отсортированы по email в алфавитном порядке.
Опционально:
Обработка ошибок
Постраничный вывод записей по 10 для получения пользователя