Переписать приложение из предыдущей лабораторной работы с использованием следующих технологий:
- Уровень back-end должен быть основан на Spring.
- Уровень front-end должен быть построен на React + Redux (необходимо использовать ES6 и JSX) с использованием набора компонентов Belle
- Взаимодействие между уровнями back-end и front-end должно быть организовано посредством REST API.
Приложение по-прежнему должно включать в себя 2 страницы - стартовую и основную страницу приложения. Обе страницы приложения должны быть адаптированы для отображения в 3 режимах:
- "Десктопный" - для устройств, ширина экрана которых равна или превышает 1267 пикселей.
- "Планшетный" - для устройств, ширина экрана которых равна или превышает 819, но меньше 1267 пикселей.
- "Мобильный"- для устройств, ширина экрана которых меньше 819 пикселей.
- "Шапку", содержащую ФИО студента, номер группы и номер варианта.
- Форму для ввода логина и пароля. Информация о зарегистрированных в системе пользователях должна храниться в отдельной таблице БД (пароль должен храниться в виде хэш-суммы). Доступ неавторизованных пользователей к основной странице приложения должен быть запрещён.
- Набор полей ввода для задания координат точки и радиуса области в соответствии с вариантом задания: TextInput (-5 ... 5) для координаты по оси X, Spinner (-3 ... 5) для координаты по оси Y, и TextInput (-5 ... 5) для задания радиуса области. Если поле ввода допускает ввод заведомо некорректных данных (таких, например, как буквы в координатах точки или отрицательный радиус), то приложение должно осуществлять их валидацию.
- Динамически обновляемую картинку, изображающую область на координатной плоскости в соответствии с номером варианта и точки, координаты которых были заданы пользователем. Клик по картинке должен инициировать сценарий, осуществляющий определение координат новой точки и отправку их на сервер для проверки её попадания в область. Цвет точек должен зависить от факта попадания / непопадания в область. Смена радиуса также должна инициировать перерисовку картинки.
- Таблицу со списком результатов предыдущих проверок.
- Кнопку, по которой аутентифицированный пользователь может закрыть свою сессию и вернуться на стартовую страницу приложения.
- Все результаты проверки должны сохраняться в базе данных под управлением СУБД Oracle.
- Для доступа к БД необходимо использовать Spring Data.
![image](https://private-user-images.githubusercontent.com/102998182/298399813-63d3f859-4616-478f-aa34-a81729147cb7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzMjc4MzksIm5iZiI6MTcyMjMyNzUzOSwicGF0aCI6Ii8xMDI5OTgxODIvMjk4Mzk5ODEzLTYzZDNmODU5LTQ2MTYtNDc4Zi1hYTM0LWE4MTcyOTE0N2NiNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzMwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDczMFQwODE4NTlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lYTYyMmMyZGNiY2ZmYmIxZWUwZmQ3YjBiMzZhOWVmZWFlZTJiMTE0MDFmNmM4ZjM4YjVlNTNlMmY4NDMwODUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.9U6aswzMVVuqobKz2ldwBrJkQf1iXE8Y578GV_LePig)