{"id":15954267,"url":"https://github.com/yunir/iad_lw4","last_synced_at":"2025-04-04T05:44:12.643Z","repository":{"id":131070859,"uuid":"111156815","full_name":"Yunir/IAD_LW4","owner":"Yunir","description":"Third semester. Internet application development. Fourth laboratory work.","archived":false,"fork":false,"pushed_at":"2021-10-16T14:22:37.000Z","size":10315,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-09T17:17:06.010Z","etag":null,"topics":["ejb","hibernate","vaadin"],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yunir.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-17T22:29:16.000Z","updated_at":"2021-10-16T14:22:40.000Z","dependencies_parsed_at":"2023-04-28T16:21:38.759Z","dependency_job_id":null,"html_url":"https://github.com/Yunir/IAD_LW4","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yunir%2FIAD_LW4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yunir%2FIAD_LW4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yunir%2FIAD_LW4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yunir%2FIAD_LW4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yunir","download_url":"https://codeload.github.com/Yunir/IAD_LW4/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247128738,"owners_count":20888234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ejb","hibernate","vaadin"],"created_at":"2024-10-07T13:16:54.639Z","updated_at":"2025-04-04T05:44:12.620Z","avatar_url":"https://github.com/Yunir.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Переписать приложение из лабораторной работы №3 с использованием следующих технологий:\r\n- [x] Уровень back-end должен быть основан на Java EE (необходимо использовать EJB).\r\n- [x] Уровень front-end должен быть построен на Vaadin\r\n## Приложение по-прежнему должно включать в себя 2 страницы - стартовую и основную страницу приложения. Обе страницы приложения должны быть адаптированы для отображения в 3 режимах:\r\n- [x] \"Десктопный\" - для устройств, ширина экрана которых равна или превышает 1217 пикселей.\r\n- [x] \"Планшетный\" - для устройств, ширина экрана которых равна или превышает 847, но меньше 1217 пикселей.\r\n- [x] \"Мобильный\" - для устройств, ширина экрана которых меньше 847 пикселей.\r\n## Стартовая страница должна содержать следующие элементы:\r\n- [x] \"Шапку\", содержащую ФИО студента, номер группы и номер варианта.\r\n- [x] Форму для ввода логина и пароля. \r\n- [x] Информация о зарегистрированных в системе пользователях должна храниться в отдельной таблице БД (пароль должен храниться в виде хэш-суммы). \r\n- [x] Доступ неавторизованных пользователей к основной странице приложения должен быть запрещён.\r\n## Основная страница приложения должна содержать следующие элементы:\r\n- [x] Набор полей ввода для задания координат точки и радиуса области в соответствии с вариантом задания: Radio {'-3','-2','-1','0','1','2','3','4','5'} для координаты по оси X, Text (-3 ... 5) для координаты по оси Y, и Radio {'-3','-2','-1','0','1','2','3','4','5'} для задания радиуса области. \r\n- [x] Если поле ввода допускает ввод заведомо некорректных данных (таких, например, как буквы в координатах точки или отрицательный радиус), то приложение должно осуществлять их валидацию.\r\n- [x] Динамически обновляемую картинку, изображающую область на координатной плоскости в соответствии с номером варианта и точки, координаты которых были заданы пользователем. \r\n- [x] Клик по картинке должен инициировать сценарий, осуществляющий определение координат новой точки и отправку их на сервер для проверки её попадания в область. \r\n- [x] Цвет точек должен зависить от факта попадания / непопадания в область. \r\n- [x] Смена радиуса также должна инициировать перерисовку картинки.\r\n- [x] Таблицу со списком результатов предыдущих проверок.\r\n- [x] Ссылку, по которой аутентифицированный пользователь может закрыть свою сессию и вернуться на стартовую страницу приложения.\r\n## Дополнительные требования к приложению:\r\n- [x] Все результаты проверки должны сохраняться в базе данных под управлением СУБД PostgreSQL.\r\n- [x] Для доступа к БД необходимо использовать JPA.\r\n## Вопросы к защите лабораторной работы:\r\n1. Платформа Java EE. Спецификации и их реализации.\r\n1. Принципы IoC, CDI и Location Transpanency. Компоненты и контейнеры.\r\n1. Управление жизненным циклом компонентов. Дескрипторы развёртывания.\r\n1. Java EE API. Виды компонентов. Профили платформы Java EE.\r\n1. Компоненты EJB. Stateless \u0026 Stateful Session Beans. EJB Lite и EJB Full.\r\n1. Работа с электронной почтой в Java EE. JavaMail API.\r\n1. JMS. Реализация очередей сообщений. Способы доставки сообщений до клиента. Message-Driven Beans.\r\n1. Понятие транзакции. Управление транзакциями в Java EE. JTA.\r\n1. Веб-сервисы. Технологии JAX-RS и JAX-WS.\r\n1. Платформа Spring. Сходства и отличия с Java EE.\r\n1. Модули Spring. Архитектура Spring Runtime. Spring Security и Spring Data.\r\n1. Реализация IoC и CDI в Spring. Сходства и отличия с Java EE.\r\n1. Реализация REST API в Java EE и Spring.\r\n1. Google Web Toolkit. Архитектура и основные принципы разработки интерфейсов.\r\n1. Компоненты gwt. Обработка событий UI.\r\n1. Расширения gwt. Vaadin Framework.\r\n1. React JS. Архитектура и основные принципы разработки приложений.\r\n1. Компоненты React. \"Умные\" и \"глупые\" компоненты.\r\n1. Разметка страниц в React-приложениях. JSX.\r\n1. Навигация в React-приложениях. ReactRouter.\r\n1. Управление состоянием интерфейса. Redux.\r\n1. AngularJS. Архитектура и основные принципы разработки приложений.\r\n1. Компоненты Angular. Навигация в Angular-приложениях.\r\n1. Отличия Angular 1 от Angular 2 и 3.\r\n\r\n## Компилируется на версии:\r\n- jdk 11\r\n- maven 3.8.1","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyunir%2Fiad_lw4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyunir%2Fiad_lw4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyunir%2Fiad_lw4/lists"}