Переписать приложение из предыдущей лабораторной работы с использованием следующих технологий:
- Уровень back-end должен быть основан на Spring.
- Уровень front-end должен быть построен на Vue.js с использованием обычных полей ввода HTML
- Взаимодействие между уровнями back-end и front-end должно быть организовано посредством REST API.
Приложение по-прежнему должно включать в себя 2 страницы - стартовую и основную страницу приложения. Обе страницы приложения должны быть адаптированы для отображения в 3 режимах:
- "Десктопный" - для устройств, ширина экрана которых равна или превышает 1266 пикселей.
- "Планшетный" - для устройств, ширина экрана которых равна или превышает 649, но меньше 1266 пикселей.
- "Мобильный"- для устройств, ширина экрана которых меньше 649 пикселей.
![Снимок экрана 2024-03-06 в 16 20 02](https://private-user-images.githubusercontent.com/114988501/310512892-3e19ea10-8cbf-4a76-b848-5a0662ba208f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU1MzYwNTcsIm5iZiI6MTcyNTUzNTc1NywicGF0aCI6Ii8xMTQ5ODg1MDEvMzEwNTEyODkyLTNlMTllYTEwLThjYmYtNGE3Ni1iODQ4LTVhMDY2MmJhMjA4Zi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTA1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkwNVQxMTI5MTdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jZGM1Mjg1YjE1MTlmYmIxZDYxOGEyODJkMDkyYjAzMmU2MjQ2ZmU5ZjhhYTYxOTM1MmEwYmQyZWI1YjA3MjNiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.JvbTykpAVroVgdtKE31seWb32VpDYERWcaX64H8hKk4)
- "Шапку", содержащую ФИО студента, номер группы и номер варианта.
- Форму для ввода логина и пароля. Информация о зарегистрированных в системе пользователях должна храниться в отдельной таблице БД (пароль должен храниться в виде хэш-суммы). Доступ неавторизованных пользователей к основной странице приложения должен быть запрещён.
- Набор полей ввода для задания координат точки и радиуса области в соответствии с вариантом задания: Select {'-5','-4','-3','-2','-1','0','1','2','3'} для координаты по оси X, Text (-5 ... 3) для координаты по оси Y, и Select {'-5','-4','-3','-2','-1','0','1','2','3'} для задания радиуса области. Если поле ввода допускает ввод заведомо некорректных данных (таких, например, как буквы в координатах точки или отрицательный радиус), то приложение должно осуществлять их валидацию.
- Динамически обновляемую картинку, изображающую область на координатной плоскости в соответствии с номером варианта и точки, координаты которых были заданы пользователем. Клик по картинке должен инициировать сценарий, осуществляющий определение координат новой точки и отправку их на сервер для проверки её попадания в область. Цвет точек должен зависить от факта попадания / непопадания в область. Смена радиуса также должна инициировать перерисовку картинки.
- Таблицу со списком результатов предыдущих проверок.
- Ссылку, по которой аутентифицированный пользователь может закрыть свою сессию и вернуться на стартовую страницу приложения.
- Все результаты проверки должны сохраняться в базе данных под управлением СУБД
PostgreSQL
. - Для доступа к БД необходимо использовать
Spring Data
.
- Платформа
Java EE
. Спецификации и их реализации. - Принципы
IoC
,CDI
иLocation Transpanency
. Компоненты и контейнеры. - Управление жизненным циклом компонентов. Дескрипторы развёртывания.
Java EE API
. Виды компонентов. Профили платформыJava EE
.- Компоненты
EJB
.Stateless
&Stateful
Session Beans
.EJB Lite
иEJB Full
. - Работа с электронной почтой в
Java EE
.JavaMail API
. JMS
. Реализация очередей сообщений. Способы доставки сообщений до клиента.Message-Driven Beans
.- Понятие транзакции. Управление транзакциями в
Java EE
.JTA
. - Веб-сервисы. Технологии
JAX-RS
иJAX-WS
. - Платформа
Spring
. Сходства и отличия сJava EE
. - Модули
Spring
. АрхитектураSpring Runtime
.Spring Security
иSpring Data
. - Реализация
IoC
иCDI
вSpring
. Сходства и отличия сJava EE
. - Реализация
REST API
вJava EE
иSpring
. React JS.
Архитектура и основные принципы разработки приложений.- Компоненты
React
.State
&props
. "Умные" и "глупые" компоненты. - Разметка страниц в
React
-приложениях.JSX
. - Навигация в
React
-приложениях.ReactRouter
. - Управление состоянием интерфейса.
Redux
. Angular
: архитектура и основные принципы разработки приложений.Angular
: модули, компоненты, сервисы иDI
.Angular
: шаблоны страниц, жизненный цикл компонентов, подключениеCSS
.Angular
: клиент-серверное взаимодействие, создание, отправка и валидация данных форм.