Разработать приложение с использованием следующих технологий:
- Spring Core
- Sprint Security
- Apache Tiles
- JSP
- MySQL
Приложение должно включать следующую функциональность:
- Форма авторизации на основании логина (адреса почты) и пароля.
- Проверка валидности введенного email.
- Проверка на сложность пароля.
- Пароль и имя пользователя должен быть проверен относительно таблицы в DB.
- После авторизации пользователь должен быть перенаправлен на список продуктов в случае если учетная запись обычного пользователя.
- После авторизации пользователь должен быть перенаправлен на список пользователей в случае если учетная запись администратора.
- Форма список продуктов.
- Должна содержать следующие поля: наименование продукта, цена, описание, количество, дата создания (включая время), тип продукта.
- Форма доступна для ролей: пользователь.
- Форма список пользователей.
- Должна содержать следующие поля: имя пользователя, роль, дата создания (включая время), пол.
- Форма доступна для ролей: администратор.
- База данных должна иметь все необходимые индексы и foreign keys.
Ответ должен содержать скрипт создания базы данных и maven приложение. Предположения:
- Предполагается, что пользователь может иметь несколько ролей.
- Предполагается, что в системе будет заведено три пользователя со всеми комбинациями ролей.
- Тип продукта берется из справочника.
Дополнительное задание:
- Использовать Bootstrap для оформления форм.
- Использование AngularJS 1 для валидации ввода данных в форму.
- Даты на формах должны, быть корректно отображены для всех часовых поясов.