/PointsOnCartesianPlane

Web application used to draw & remove points on coordinate plane. All points are shown both on coordinate plane view and table listing all coordinates of these points. Backend written in Java (Spring Boot, Web, Security, Hibernate, PostgreSQL) and frontend in TypeScript (Angular 7).

Primary LanguageTypeScript

Программирование интернет-приложений - лабораторная работа №4

Разработать приложение, которое осуществляет проверку попадания точки в заданную область на координатной плоскости.

Уровень back-end должен быть основан на Spring. Уровень front-end должен быть построен на Angular с использованием набора компонентов PrimeNG Взаимодействие между уровнями back-end и front-end должно быть организовано посредством REST API. Все результаты проверки должны сохраняться в базе данных под управлением СУБД PostgreSQL. Для доступа к БД необходимо использовать Spring Data. Приложение по-прежнему должно включать в себя 2 страницы - стартовую и основную страницу приложения.

Стартовая страница должна содержать следующие элементы: "Шапку", содержащую ФИО студента, номер группы и номер варианта. Форму для ввода логина и пароля. Информация о зарегистрированных в системе пользователях должна храниться в отдельной таблице БД (пароль должен храниться в виде хэш-суммы). Доступ неавторизованных пользователей к основной странице приложения должен быть запрещён.

Основная страница приложения должна содержать следующие элементы: Набор полей ввода для задания координат точки и радиуса области в соответствии с вариантом задания: RadioButton {'-3','-2','-1','0','1','2','3','4','5'} для координаты по оси X, Text (-5 ... 3) для координаты по оси Y, и RadioButton {'-3','-2','-1','0','1','2','3','4','5'} для задания радиуса области. Если поле ввода допускает ввод заведомо некорректных данных (таких, например, как буквы в координатах точки или отрицательный радиус), то приложение должно осуществлять их валидацию. Динамически обновляемую картинку, изображающую область на координатной плоскости в соответствии с номером варианта и точки, координаты которых были заданы пользователем. Клик по картинке должен инициировать сценарий, осуществляющий определение координат новой точки и отправку их на сервер для проверки её попадания в область. Цвет точек должен зависить от факта попадания / непопадания в область. Смена радиуса также должна инициировать перерисовку картинки. Таблицу со списком результатов предыдущих проверок. Ссылку, по которой аутентифицированный пользователь может закрыть свою сессию и вернуться на стартовую страницу приложения.