{"id":15954226,"url":"https://github.com/yunir/iad_lw3","last_synced_at":"2026-05-09T00:07:15.430Z","repository":{"id":123588013,"uuid":"107790215","full_name":"Yunir/IAD_LW3","owner":"Yunir","description":"Third semester. Internet application development. Third laboratory work.","archived":false,"fork":false,"pushed_at":"2018-10-16T10:26:04.000Z","size":21132,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T05:42:12.151Z","etag":null,"topics":["canvas","css","facelets","javascript","jdbc","jsf","postgresql","primefaces","xhtml"],"latest_commit_sha":null,"homepage":null,"language":"HTML","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-10-21T15:07:51.000Z","updated_at":"2024-12-01T11:50:52.000Z","dependencies_parsed_at":"2023-04-28T16:21:39.306Z","dependency_job_id":null,"html_url":"https://github.com/Yunir/IAD_LW3","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Yunir/IAD_LW3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yunir%2FIAD_LW3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yunir%2FIAD_LW3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yunir%2FIAD_LW3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yunir%2FIAD_LW3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yunir","download_url":"https://codeload.github.com/Yunir/IAD_LW3/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yunir%2FIAD_LW3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32802546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["canvas","css","facelets","javascript","jdbc","jsf","postgresql","primefaces","xhtml"],"created_at":"2024-10-07T13:16:39.263Z","updated_at":"2026-05-09T00:07:15.403Z","avatar_url":"https://github.com/Yunir.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"![graph](graph.png)\r\n## Общее\r\nРазработать приложение на базе JavaServer Faces Framework, которое осуществляет проверку попадания точки в заданную область на координатной плоскости.\r\n\r\nПриложение должно включать в себя 2 facelets-шаблона - стартовую страницу и основную страницу приложения, а также набор управляемых бинов (managed beans), реализующих логику на стороне сервера.\r\n\r\n## Стартовая страница должна содержать следующие элементы:\r\n- [x] \"Шапку\", содержащую ФИО студента, номер группы и номер варианта.\r\n- [x] Интерактивные часы, показывающие текущие дату и время, обновляющиеся раз в 12 секунд.\r\n- [x] Ссылку, позволяющую перейти на основную страницу приложения.\r\n\r\n## Основная страница приложения должна содержать следующие элементы:\r\n- [x] Набор компонентов для задания координат точки и радиуса области в соответствии с вариантом задания. Может потребоваться использование дополнительных библиотек компонентов - `ICEfaces` (префикс \"ace\") и `PrimeFaces` (префикс \"p\"). Если компонент допускает ввод заведомо некорректных данных (таких, например, как буквы в координатах точки или отрицательный радиус), то приложение должно осуществлять их валидацию.\r\n- [x] Динамически обновляемую картинку, изображающую область на координатной плоскости в соответствии с номером варианта и точки, координаты которых были заданы пользователем. \r\n- [x] Клик по картинке должен инициировать сценарий, осуществляющий определение координат новой точки и отправку их на сервер для проверки её попадания в область. \r\n- [x] Цвет точек должен зависить от факта попадания / непопадания в область. \r\n- [x] Смена радиуса также должна инициировать перерисовку картинки.\r\n- [x] Таблицу со списком результатов предыдущих проверок.\r\n- [x] Ссылку, позволяющую вернуться на стартовую страницу.\r\n\r\n## Дополнительные требования к приложению:\r\n- [x] Все результаты проверки должны сохраняться в базе данных под управлением СУБД PostgreSQL.\r\n- [x] Для доступа к БД необходимо использовать протокол JDBC без каких-либо дополнительных библиотек.\r\n- [x] Для управления списком результатов должен использоваться Application-scoped Managed Bean.\r\n- [x] Конфигурация управляемых бинов должна быть задана с помощью аннотаций.\r\n- [x] Правила навигации между страницами приложения должны быть заданы в отдельном конфигурационном файле.\r\n \r\n## Вопросы к защите лабораторной работы:\r\n1. Технология JavaServer Faces. Особенности, отличия от сервлетов и JSP, преимущества и недостатки. Структура JSF-приложения.\r\n1. Использование JSP-страниц и Facelets-шаблонов в JSF-приложениях.\r\n1. JSF-компоненты - особенности реализации, иерархия классов. Дополнительные библиотеки компонентов. Модель обработки событий в JSF-приложениях.\r\n1. Конвертеры и валидаторы данных.\r\n1. Представление страницы JSF на стороне сервера. Класс UIViewRoot.\r\n1. Управляемые бины - назначение, способы конфигурации. Контекст управляемых бинов.\r\n1. Конфигурация JSF-приложений. Файл faces-config.xml. Класс FacesServlet.\r\n1. Навигация в JSF-приложениях.\r\n1. Доступ к БД из Java-приложений. Протокол JDBC, формирование запросов, работа с драйверами СУБД.\r\n1. Концепция ORM. Библиотеки ORM в приложениях на Java. Основные API. Интеграция ORM-провайдеров с драйверами JDBC.\r\n1. Библиотеки ORM Hibernate и EclipseLink. Особенности, API, сходства и отличия.\r\n1. Технология JPA. Особенности, API, интеграция с ORM-провайдерами.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyunir%2Fiad_lw3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyunir%2Fiad_lw3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyunir%2Fiad_lw3/lists"}