2 года назад
История
README.MD
Тестовое задание на должность начинающий Java разработчик в ООО КОДМАРК (codemark.ru)
- Необходимо разработать SOAP backend для веб-приложения. Основная задача бекенда - управление пользователями и их ролями.
Описание модели данных:
- У пользователя может быть несколько ролей, одна роль может быть у нескольких пользователей. Например, Вася - Админ и Оператор, Петя - Оператор и Аналитик.
- Атрибуты пользователя - Имя, Логин (первичный ключ), Пароль (шифровать пароль в рамках тестового задания не требуется, это просто строка).
- Атрибуты роли – id (первичный ключ), Имя.
Необходимо:
Разработать SOAP сервис и методы работы с данными. Сделать методы, которые будут:
- Получать список пользователей из БД (без ролей)
- Получать конкретного пользователя (с его ролями) из БД
- Удалять пользователя в БД
- Добавлять нового пользователя с ролями в БД.
- Редактировать существующего пользователя в БД. Если в запросе на редактирование передан массив ролей, система должна обновить список ролей пользователя в БД - новые привязки добавить, неактуальные привязки удалить.
- На бекенде для методов добавления и редактирования должен производиться формато-логический контроль пришедших значений. Поля name, login, password - обязательные для заполнения, password содержит букву в заглавном регистре и цифру.
- Если все проверки пройдены успешно, ответ должен содержать
<success>true</success>
- Если случилась ошибка валидации, ответ должен содержать
<success>false</success><errors>массив ошибок</errors>
Решение должно быть:
- реализовано на языке Java, на платформе Spring Framework / Springboot, использовать Spring Data или Hibernate в качестве ORM
- сервисы должны работать по протоколу SOAP, формат XML (это важно, не нужно делать REST/JSON)
- задание должно быть отправлено в формате архива с исходным кодом в ответном письме
- базу данных для задачи можно выбрать любую и создать любым способом, на ваше усмотрение - автосоздание таблиц hibernate, скрипт создания create_schema.sql, допускается использовать in-memory БД
Как задание оценивается:
- Оптимальность кода - самый важный критерий
- Соответствие общепринятым best practices
- Отсутствие ошибок - в программе не должно быть ошибок, она должна работать
- Полнота реализации – ожидаем полностью выполненное задание, по решению даем обратную связь
Описание
SOAP backend для веб-приложения управления пользователями и их ролями
Конвейеры
0 успешных
0 с ошибкой