Добавлен: 25.04.2023
Просмотров: 170
Скачиваний: 2
В таблице 4 описано содержание таблицы базы данных с жанрами.
Таблица 4
Таблица “id_genres”
Название столбца |
Тип данных |
Назначение |
Действия со столбцом |
Genre_id |
Int(5) |
Идентификатор жанра. Первичный ключ. |
AUTO_INCREMENT при добавлении записи. |
genre |
Varchar(20) |
Название жанра. |
Отображение на странице. |
В таблице 5 описано содержание таблицы базы данных с издателями.
Таблица 5
Таблица “id_publishers”
Название столбца |
Тип данных |
Назначение |
Действия со столбцом |
Publisher_id |
Int(5) |
Идентификатор издателя. Первичный ключ. |
AUTO_INCREMENT при добавлении записи. |
publisher |
Varchar(30) |
Содержит наименование издателя. |
Отображение на странице. |
В таблице 6 описано содержание таблицы базы данных с пользователями.
Таблица 6
Название столбца |
Тип данных |
Назначение |
Действия со столбцом |
User_id |
Int(8) |
Идентификатор пользователя. Первичный ключ. |
AUTO_INCREMENT при добавлении записи. |
Username |
Varchar(20) |
Имя пользователя. |
Отображение на странице, добавление введенных данных. |
|
Varchar(50) |
Электронный адрес пользователя. |
Отображение на странице, добавление введенных данных. |
Password |
Varchar(255) |
Пароль в зашифрованном виде. |
Добавление введенных данных, проверка при входе. |
Role_id |
Varchar(5) |
Идентификатор роли пользователя. 1 – обычный пользователь, 3 – администратор. По умолчанию – 1. |
Ограничения функций. |
Date_of_reg |
Date |
Дата регистрации пользователя. |
Добавление при создании записи. |
total |
Int(11) |
Общее количество обменов. |
Отображение на странице. |
Firstname |
Varchar(20) |
Реальное имя пользователя. Может быть NULL. |
Отображение на странице, добавление введенных данных. |
surname |
Varchar(40) |
Реальная фамилия пользователя. Может быть NULL. |
Отображение на странице, добавление введенных данных. |
В таблице 7 описано содержание таблицы базы данных с отзывами.
Таблица 7
Таблица “reviews”
Название столбца |
Тип данных |
Назначение |
Действия со столбцом |
Review_id |
Int(8) |
Идентификатор отзыва. Первичный ключ. |
AUTO_INCREMENT при добавлении записи. |
Book_id |
Int(11) |
Идентификатор книги, на которую сделан отзыв. Внешний ключ. |
Отображение на странице связанных данных по внешнему ключу. |
Creator_id |
Int(11) |
Идентификатор пользователя, сделавшего отзыв. Внешний ключ. |
Отображение на странице связанных данных по внешнему ключу. |
Review_content |
Varchar(15000) |
Содержание отзыва. |
Отображение на странице, добавление введенных данных. |
Write_time |
date |
Дата и время написания отзыва. |
Отображение на странице. |
В таблице 8 описано содержание таблицы базы данных с предложениями об обмене.
Таблица 8
Таблица “exchange”
Название столбца |
Тип данных |
Назначение |
Действия со столбцом |
exch_id |
Int(8) |
Идентификатор предложения. Первичный ключ. |
AUTO_INCREMENT при добавлении записи. |
user_id |
Int(8) |
Идентификатор пользователя, создавшего предложение. Внешний ключ. |
Отображение на странице связанных данных по внешнему ключу. |
book_id |
Int(11) |
Идентификатор предлагаемой книги. Внешний ключ. |
Отображение на странице связанных данных по внешнему ключу. |
publisher |
Int(5) |
Идентификатор издателя книги. Внешний ключ. |
Отображение на странице связанных данных по внешнему ключу. |
Year_pub |
Int(4) |
Год издательства книги. |
Отображение на странице, добавление новых данных. |
Продолжение таблицы 8
Название столбца |
Тип данных |
Назначение |
Действия со столбцом |
Book_condition |
Varchar(20) |
Описание состояния книги. По умолчанию – “-”. |
Отображение на странице, добавление новых данных. |
city |
Varchar(20) |
Город, в котором находится создатель предложения. |
Отображение на странице, добавление новых данных. |
status |
Varchar(5) |
Статус обмена. По умолчанию – “wait” (ожидание отклика). Другие статусы: “pend” – ожидание отправки, “sent” – книга отправлена, ожидание подтверждения получения, “done” – операция выполнена. |
Отображение на странице. |
В таблице 9 описано содержание таблицы базы данных желаний пользователей.
Таблица 9
Таблица “wishes”
Название столбца |
Тип данных |
Назначение |
Действия со столбцом |
wish_id |
Int(8) |
Идентификатор желания. Первичный ключ. |
AUTO_INCREMENT при добавлении записи. |
user_id |
Int(8) |
Идентификатор пользователя, создавшего желание. Внешний ключ. |
Отображение на странице связанных данных по внешнему ключу. |
book_id |
Int(11) |
Идентификатор желаемой книги. Внешний ключ. |
Отображение на странице связанных данных по внешнему ключу. |
publisher |
Int(5) |
Идентификатор издателя книги. Внешний ключ. Может быть NULL |
Отображение на странице связанных данных по внешнему ключу. |
Year_pub |
Int(4) |
Год издательства книги. Может быть NULL. |
Отображение на странице, добавление новых данных. |
city |
Varchar(20) |
Город, в котором находится создатель предложения. |
Отображение на странице, добавление новых данных. |
Продолжение таблицы 9
Название столбца |
Тип данных |
Назначение |
Действия со столбцом |
Address |
Varchar(150) |
Полный адрес, по которому надо отправить книгу. |
Отображение на странице, добавление новых данных. |
Status |
Varchar(5) |
Статус обмена. По умолчанию – “wait” (ожидание отклика). Другие статусы: “pend” – ожидание отправки, “sent” – книга отправлена, ожидание подтверждения получения, “done” – операция выполнена. |
Отображение на странице. |
В таблице 10 описано содержание таблицы базы данных с сообщениями.
Таблица 10
Таблица “messages”
Название столбца |
Тип данных |
Назначение |
Действия со столбцом |
Message_id |
Int(6) |
Идентификатор сообщения. Первичный ключ. |
AUTO_INCREMENT при добавлении записи. |
Date_sent |
timestamp |
Дата отправки сообщения. |
Отображение на странице. |
Dialogue_type |
Varchar(11) |
Содержит тип операции – обмен или желание. |
Отображение на странице. |
Act_id |
Int(8) |
Содержит идентификатор операции. |
Отображение на странице. |
Receiver |
Int(8) |
Идентификатор получателя сообщения. Внешний ключ. |
Отображение на странице. |
Sender |
Int(8) |
Идентификатор отправителя сообщения. Внешний ключ. |
Отображение на странице. |
Text |
Varchar(2000) |
Текст сообщения. |
Отображение на странице. |
status |
Varchar(6) |
Статус прочитанности сообщения. По умолчанию – ‘unread’. После выполнения операции изменяется на “read”. |
Отображение на странице. |
4. Описание структуры клиентской части. Инструкция пользователя
Главная страница содержит ссылки на основные активности сайта.
Рисунок 3. Главная страница сайта для неавторизованного
Авторизованный пользователь после входа видит в нижней части ссылку на свой профиль вместо ссылок на страницы регистрации и входа. Также в боковом меню вместо формы входа появляются ссылки для перехода в профиль, сообщения и выхода из аккаунта.
Рисунок 4. Главная страница для авторизованного пользователя
Боковое меню предоставляет доступ к персональным страницам, а также некоторую интересную информацию – новые пользователи, последние добавленные книги и самые популярные (по количеству просмотров) книги.
Рисунок 5. Боковое меню сайта
Страница регистрации представляет из себя несколько полей для ввода информации. Также на этой странице проводится проверка некоторых данных на правильность ввода, например, правильность ввода email или правильность повтора пароля. На скриншоте приведён интерфейс регистрации с примером одной из ошибок.
Рисунок 6. Форма регистрации
Страница авторизации представляет из себя два поля для ввода логина или пароля. После сверки данных создаётся сессия пользователя.
Рисунок 7. Форма авторизации
Следующий пункт – библиотека. Здесь пользователь может изучить имеющийся список книг, изучить информацию об интересующей книге, либо же добавить свою книгу в список с помощью специальной формы.
Рисунок 8. Библиотека
Просмотр книги отображает основную информацию о книге, ссылку на информацию об авторе, а также даёт возможность добавить отзыв о книге.
Рисунок 9. Страница книги
Форма добавления книги содержит поля с основной информацией о книге. Также есть возможность добавить своего автора, если его нет в уже готовом списке.
Рисунок 10. Форма добавления книги
В случае, если пользователь не авторизован, ему будет предложено войти или зарегистрироваться. Подобное сообщение будет получено на всех страницах, где необходимо быть авторизованным в системе.
Рисунок 11. Сообщение для неавторизованного пользователя
Страница с авторами содержит список авторов, которые есть на данный момент в базе.
Рисунок 12. Список авторов.
Страница с информацией об авторе содержит годы его жизни и краткую биографию.
Рисунок 13. Страница автора.
Страница «Книги на обмен» предоставляет список всех доступных обменов на данный момент. Предоставляется также уточняющая информация об издательстве, напечатавшем книгу, примерное описание состояния книги и город, в котором она находится.
Рисунок 14. Страница обменов
Форма добавления книги на обмен также имеет ссылку на форму добавления книги в библиотеку, так как список формируется из уже существующих книг.
Рисунок 15. Форма добавления обмена
При нажатии кнопки «Запросить» на странице книг на обмен происходит переход к форме ввода адреса для отправки книги. После этого у пользователя формируется новое сообщение в соответствующем разделе.
Рисунок 16. Форма ввода адреса для отправки
Раздел желаний похож на предыдущий раздел, однако здесь такие данные, как издательство и год издания относятся к необязательным параметрам, а состояние книги и вовсе опускается.
Рисунок 17. Список желаний.
Форма добавления желания также похожа на форму добавления книги, однако добавлено поле для ввода полного адреса для отправки книги.