# TLibrary. Book search service Библиотека книг/ сервис для поиска и скачивания доступных на Libgen книг. (Незавершен) ## Основной флоу системы - `Веб страницы, помеченные как ***(Только для зарегистрированных пользователей)*** перенаправляют неавторизированных пользователей на страницу входа/регистрации.` - `Каждая книга идентифицируется по ISBN, при этом у переводов созданных пользователями поле ISBN определено как "'nopusblisher' + уникальный идентификатор"` 1. Любой пользователь заходящий на сайт попадает на landing page, на которой имеется поле для поиска;![Alt text](https://i.imgur.com/frCfljS.jpg "/webpath") 2. При вводе поискового запроса пользователь получает книги, название или автор которых соответствуют поисковому запросу. При этом для каждой книги пользователь получает наиболее подходящий вариант. ![Alt text](https://i.imgur.com/yxcfl3e.jpg "/webpath?search=''") 3. При выборе книги, пользователь получает интерфейс со всей информацией о конкретной версии книги (по ISBN: год выпуска, издатель, язык, ...), а так же кнопками загрузки и (без этого пока что) чтения данной книги. При этом информация о языке находится в выпадающем меню, при нажатии на которое открывается список доступных для этой книги языков ![Alt text](https://i.imgur.com/kawKidh.jpg "/webpath/book/:bookISBN") 4. При выборе одного из доступных языков, пользователи перенаправляется на страницу книги на выбранном языке. Если же книга не одна, то пользователь получает дополнительное окно с возможностью выбрать одну из книг на выбранном языке (в том числе и переводы созданные пользователями). --- 5. На сайте присутствует возможность регистрации, некоторые функции доступны только зарегистрированным пользователям. _(возможно можно залогиниться через Гугл или Гитхаб, может и нет)_ ![Alt text](https://www.vedamo.com/wp-content/uploads/2017/09/Login-and-Login-with-Google-options-IMG.png "/webpath/signin") 15. (Только для зарегистрированных пользователей) Пользователь может добавить новую книгу, если он не нашел её на сайте. Для этого ему необходимо нажать на предназначенную для этого кнопку на сайте (Одна в контекстном меню сверху и другая после поисковых результатов, в том же месте где пагинация). После этого он попадает в меню, где указывает все необходимые данные, а так же добавляет файл книги (возможны разные форматы, необходимо определить и обработать каждый из них) ![Alt text](https://i.imgur.com/jwUUajZ.jpg "/webpath/book/new/book"). 16. (Только для зарегистрированных пользователей) Пользователь может добавить существующий перевод для книги, если он не нашел его среди вариантов книги. Для этого ему необходимо нажать на предназначенную для этого кнопку на сайте (в меню выбора языка на странице книги, а так же в меню ениги рядом с кнопкой хочу прочитать). После этого он попадает в меню из предыдущего пункта, с дополнительными полями издателя и вставки книги ![Alt text](https://i.imgur.com/jwUUajZ.jpg "/webpath/book/new/variant"). 17. Каждая добавленная пользователем книга, законченный перевод или существующая версия должна проходить модерацию, способ модерации будет обсужден и добавлен в тех.задание позже, на начальных этапах модерация отсутствует. ###### Readme end --- <br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/> ИГНОРИРУЙТЕ ДАЛЬНЕЙШИЙ ТЕКСТ ОН ОСТАВЛЕН КОММЕНТАРИЯМИ --- ## ДАЛЬШЕ ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ КОТОРЫХ ПОТЕНЦИАЛЬНО НЕ БУДЕТ 5. При нажатии на кнопку "хочу прочитать" открывается дополнительный интерфейс чтения, со списком глав, к которым пользователь может перейти. (Возможно глава будет открываться под плашкой, в отдельном окне неудобно, но если будет в отдельном окне тогда к каждой главе должна быть припечатана ссылка на прошлую и следующую главу.) 6. (Только для зарегистрированных пользователей) У каждого пользователя есть личный кабинет, в котором единственная функция: он может посмотреть те переводы которые он создал (законченные и в процессе) **/здесь необходима картинка дизайна доступа к личному кабинету по ссылке /webpath/mytranslations**. 7. 10. (Только для зарегистрированных пользователей) Если пользователь желает запросить/создать перевод (запрос это дополнительная функция, низкий приоритет) его перенаправляют на страницу создания пустого проекта перевода где он заполняет необходимые детали ![Alt text](https://i.imgur.com/jwUUajZ.jpg "/webpath/book/new/translation") 12. Если пользователь сам решил создать перевод, то эта версия книги автоматически закреплена за ним (свойство автора перевода в обьекте версии книги). Если же это был запрос на перевод, то свойство автора перевода остается пустым. *Остальная обработка запроса на перевод будет описана в дополнительных функциях приложения.* 13. Как только пустой проект создан и закреплен за пользователем автор может получить к нему доступ из личного кабинета (или по ссылке) для чтения или редактирования. В режиме редактирования пользователь попадает на страницу, в которой он может выбрать главу/часть над которой он хочет работать а так же на этой странице имеет всю информацию о книге (референсы в п.3, п.4). В режиме редактирования главы пользователь имеет зеркальные поля, одно из которых для ввода текста, а другое (эталонное поле) содержит оригинал переводимой книги (либо ту версию, которую выберет пользователь) ![Alt text](https://i.imgur.com/EX4Gf0U.jpg "/webpath/book/:bookID/edit") 14. Когда перевод закончен (либо заморожен, обработка заморозки проекта будет описана в дополнительных функциях приложения), пользователь может выложить его на сайт с помощью предназначенной для этого кнопки, тогда перевод будет отображаться в списках версий книги.