Web-application-with-Spring

Технологии, используемые в проекте: Spring MVC, Spring JPA, Hibernate, PostgreSQL, React, Redux

Функционал программы

  • Возможность проверки попадания точки с заданными координатами в область на карте. Взаимодействовать с картой возможно и через непосредственный по ней клик (автоматическое считывание координат и их преобразование), так и через поля ввода.
  • Авторизация пользователя и выгрузка запросов с предыдущих сеансов. Отображение только тех точек, что относятся к данному пользователю.
  • Визуализация точек на карте. Причем при смене радиуса области меняется и множество точек. Сами точки выделены цветом: зеленая - попадание, красная - промах.
  • Визуализация точек в виде таблицы, где указаны координаты и время запроса, а также время исполнения запроса

Требования

  • Уровень backend должен быть основан на Spring
  • Уровень frontend должен быть построен на React + Redux (необходимо использовать ES6 и JSX) с использованием набора компонентов PrimeReact
  • Взаимодействие между уровнями backend и front-end должно быть организовано посредством REST API.
  • Приложение по-прежнему должно включать в себя 2 страницы - стартовую и основную страницу приложения. Обе страницы приложения должны быть адаптированы для отображения в 2 режимах - декстопный и мобильный.

Стартовая страница должна содержать следующие элементы:

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

Основная страница приложения должна содержать следующие элементы:

  • Набор полей ввода для задания координат точки и радиуса области. Если поле ввода допускает ввод заведомо некорректных данных (таких, например, как буквы в координатах точки или отрицательный радиус), то приложение должно осуществлять их валидацию.
  • Динамически обновляемую картинку, изображающую область на координатной плоскости в соответствии с номером варианта и точки, координаты которых были заданы пользователем. Клик по картинке должен инициировать сценарий, осуществляющий определение координат новой точки и отправку их на сервер для проверки её попадания в область. Цвет точек должен зависить от факта попадания / непопадания в область. Смена радиуса также должна инициировать перерисовку картинки.
  • Таблицу со списком результатов предыдущих проверок.
  • Кнопку, по которой аутентифицированный пользователь может закрыть свою сессию и вернуться на стартовую страницу приложения.

Дополнительные требования к приложению:

  • Все результаты проверки должны сохраняться в базе данных под управлением СУБД PostgreSQL.
  • Для доступа к БД необходимо использовать JPA.

Примеры работы программы

image

image