{"id":19179960,"url":"https://github.com/bbb1991/innopolis_hw2","last_synced_at":"2026-06-20T17:31:05.626Z","repository":{"id":80433336,"uuid":"73951157","full_name":"bbb1991/innopolis_hw2","owner":"bbb1991","description":"Repo for homework 2 by Java course.","archived":false,"fork":false,"pushed_at":"2016-12-25T22:09:25.000Z","size":470,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"hibernate","last_synced_at":"2025-02-23T01:44:59.498Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bbb1991.png","metadata":{"files":{"readme":"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":"2016-11-16T18:58:20.000Z","updated_at":"2016-11-19T09:14:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"d7bc3225-2852-43df-b078-1d0366b0cbdc","html_url":"https://github.com/bbb1991/innopolis_hw2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bbb1991/innopolis_hw2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbb1991%2Finnopolis_hw2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbb1991%2Finnopolis_hw2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbb1991%2Finnopolis_hw2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbb1991%2Finnopolis_hw2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbb1991","download_url":"https://codeload.github.com/bbb1991/innopolis_hw2/tar.gz/refs/heads/hibernate","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbb1991%2Finnopolis_hw2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34580039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-09T10:45:31.642Z","updated_at":"2026-06-20T17:31:05.608Z","avatar_url":"https://github.com/bbb1991.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n#Домашнее задание №2\n\n##Вариант 1.d. Электронная библиотека\n\n##Задания, текущий ход исполнения\n1. [ ] Сделать UML диаграммы:\n\t- [x] Use case diagram\n\t- [ ] Sequence diagram\n2. [x] Набросать примерную реализацию, познакомиться с сервлетами\n3. [x] Создать рабочий прототип с использованием сервлетов, JSP, JDBC\n4. [x] Замена JavaEE на Spring.\n5. [x] Замена JDBC на Hibernate.\n6. [x] Добавление Spring Security к проекту\n\t\n##Общие сведения\nДокумент описывает требования к разрабатываемой информационной системе **Электронная библиотека**.\n\n##Основная цель системы\nЦель системы предоставление в открытый доступ ресурсов. Главное требование к ресурсам - публикация с открытой лицензией (предпочтительно в [Creative Commons](http://creativecommons.ru/licenses))\n\n##Термины и сокращения\n| Наименование | Расшифровка |\n|--------------|-------------|\n| Администратор | Пользовтаель с повышенными привелегиями в системе |\n| Читатель/Автор | Зарегистрированный в системе пользователь |\n| Гость | Незарегистрированный в системе пользователь |\n| БД | База данных |\n\n\n##Описание сценариев использования\nСценарий использования показана на рисунке ниже:\n![Use case diagram](diagrams/use_case1.png  \"Use case diagram\")\n\n##Функциональные требования к системе\nФТ1. Система должна позволять осуществлять следующий набор действий с книгами:\n- Просмотр списка книг;\n- Сортировка книг по дате, по популярности, по автору;\n- Добавление новых книг;\n- Удаление книг;\n- Добавление рецензий/комментария;\n- Чтение книги;\n\nФТ2. Система должна позволять осуществлять следующий набор действий с пользователями:\n- Создание нового пользователя;\n- Удаление пользователя;\n- Блокирование пользователя;\n- Разблокировка заблокированного пользователя;\n\n##Функциональные роли системы\n**Гость** - пользователь с минимальными правами. Может  просматривать список книг, пользоваться поиском а так же читать описание книги и рецензий читателей.\n\n**Читатель/Автор** - пользователь со стандартными правами. Имеет все права гостя, плюс может читать книги, оставлять отзывы, а так же оставлять жалобу. К тому же имеет право на добавление ресурсов, редактирование и удаление собственных ресурсов.\n\n**Администратор** - пользователь с особыми привелегиями. Имеет привелегию гостя и читателя. Плюс ко всему имеет право блокировать  пользователей и удалять спорный ресурс.\n\n##Срок исполнения\nETA: ~6 недель.\n\n##План-график реализации системы\n| Наименование релиза | Срок | Состав |\n|---------------------|------|--------|\n| 0.0.1 | до 21 ноября 2016 | Составление ТЗ, UML схемы |\n| 0.0.2 | до 25 ноября 2016 | Сервлеты, JSP, работа с замечаниями |\n| 0.0.3 | до 03 декабря 2016 | DI, IoC |\n| 0.0.4 | до 09 декабря 2016 | Spring Security, Hibernate |\n\n##Общие требования к решениям:\n- Стойкость к высоким нагрузкам;\n- Отказоустойчивость;\n- Логгирование состояний (разные уровни – как минимум дебаг, ошибки);\n- Покрытие публичных методов модульными тестами;\n- Javadoc’и;\n- Корректное разбиение на версии и релизы;\n- Наличие web-интерфейса (минимум jsp + html);\n- Наличие RESTful API;\n\n##Используемые стек технологий:\n- ***Java 8*** - язык программирования\n- ***Jetty*** - веб сервер\n- ***PostgreSQL*** - БД\n- ***slf4j (log4j)*** - библиотека логгирования\n- ***Bootstrap*** - фронтенд\n- ***JUnit 4*** - фреймворк юнит тестировния\n- ***Mockito*** - фреймворк mock тестирования\n- ***Gradle*** - система сборки\n- ***Spring MVC***\n- ***Spring Security***\n- ***Hibernate***\n- ***Apache Tiles*** - шаблонизатор\n\n##Допущения и ограничения\n- Требования к эстетическому виду и эргономичности пользовательского интерфейса не выдвигаются\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbb1991%2Finnopolis_hw2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbb1991%2Finnopolis_hw2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbb1991%2Finnopolis_hw2/lists"}