Добавлен: 31.03.2023
Просмотров: 838
Скачиваний: 13
Рисунок 2.9 Проектирование модуля Otzivi.php.
Рисунок 2.10 Проектирование модуля Statistik.php.
Таблица 2.2 Список некоторых функций, используемых модулями
|
Модуль |
Перечень некоторых используемых функций |
|
Auth.php |
isUserExists – проверка, есть ли такой пользователь createUser – добавление нового пользователя |
|
Otzivi.php |
setNewOtziv – добавление отзыва конкретному мастеру setAnswer – добавление ответа администратором |
|
Masters.php |
getListMaster – вывод всех доступных мастеров |
|
Zapis.php |
setUsluga – добавление записи об предстоящей услуге getFreeTime – узнать свободное время конкретного мастера |
|
Statistik.php |
setStatis – внесение сведений о статистике посещения |
|
DB.php |
insertNewUser – добавление нового пользователя |
|
Controll.php |
checkIsAdmin – проверка роль=администратор checkFreeTime – составление графика когда свободен конкретный мастер |
Глава 3. Описание структуры базы данных и ее функций.
3.1 Моделирование базы данных
В качестве инструмента для проектирования базы данных был выбран онлайн сервис dbdesigner.net. Данный сервер имеет бесплатный план подписки и позволяет создавать ER схему и по ней генерировать исходный код для большого количества разных СУБД.
В данной работе используется СУБД MySQL. Необходимые таблицы были созданы в онлайн сервисе и экспортированный в файл сценария. Исходный код таблиц представлен в Приложении 3.
Рисунок 3.1 ER-модель базы данных
Процесс создания базы данных представлен на рисунках 3.2-3.5
Рисунок 3.2 Создание базы данных Парикмахерская
Рисунок 3.3 Импортирование таблиц из файла SQL
Рисунок 3.4 Отчет об успешном импорте
Рисунок 3.5 Проверка одной из таблиц
3.2 Структура таблиц базы данных
В таблицах 3.1-3.6 приведено описание структуры каждой из таблиц. Таблица 3.1 «Мастера» служит хранилищем данных о мастерах, работающих в парикмахерской.
Таблица 3.1 Структура таблицы «Мастера»
|
Поле |
Тип данных |
Сведения |
Назначение |
|
ID |
INT |
PRIMARY KEY |
Уникальный ключ таблицы |
|
id_users |
INT |
FOREIGN KEY |
Ключ к таблицы Пользователи |
|
Name |
VARCHAR(255) |
Имя для отображения н сайте |
|
|
isDostupen |
BINARY |
Флаг. Работает ли сейчас мастер |
|
|
foto_filename |
VARCHAR(255) |
Адрес фото на сайте |
|
|
opisanie |
VARCHAR(255) |
Описание услуг которые может выполнить мастер |
Таблица 3.2 хранит сведения о статистики посещения любыми пользователями сайта и содержит информацию о браузере и времени запроса.
Таблица 3.3 хранит сведения об отзывах оставленный зарегистрированными посетителями. Также в этой же таблице – ответ администратора.
Таблица 3.4 хранит сведения о пользователях. Это основная таблица в базе данных. Она содержит сведения о логине и пароле, а также флаги что это за пользователь, какая у него роль. Дополнительно здесь же пишутся сведения о контактах: е-майл и номер телефона.
Таблица 3.2 Структура таблицы «Статистика»
|
Поле |
Тип данных |
Сведения |
Назначение |
|
ID |
INT |
PRIMARY KEY |
Уникальный ключ таблицы |
|
browser |
VARCHAR(255) |
Имя браузера |
|
|
ip |
VARCHAR(30) |
Адрес в сети интернет откуда был запрос страницы |
|
|
host |
VARCHAR(255) |
Адрес запрошенной страницы |
|
|
Refferer |
VARCHAR(255) |
Откуда пришел посетитель |
|
|
time |
VARCHAR(30) |
Время захода на сайт |
|
|
request |
VARCHAR(255) |
Отклик сайта |
Таблица 3.3 Структура таблицы «Отзывы»
|
Поле |
Тип данных |
Сведения |
Назначение |
|
ID |
INT |
PRIMARY KEY |
Уникальный ключ таблицы |
|
ID_master |
INT |
FOREIGN KEY |
Ключ к таблицы Пользователи |
|
ID_user |
INT |
FOREIGN KEY |
Ключ к таблицы Пользователи |
|
stars |
INT |
Оценка мастера пользователем |
|
|
text_user |
VARCHAR(255) |
Текст отзыва оставленный пользователем |
|
|
text_admin |
VARCHAR(255) |
Текст ответа администратора |
Таблица 3.4 Структура таблицы «Пользователи»
|
Поле |
Тип данных |
Сведения |
Назначение |
|
ID |
INT |
PRIMARY KEY |
Уникальный ключ таблицы |
|
login |
VARCHAR(30) |
Логин пользователя |
|
|
password |
VARCHAR(32) |
Пароль пользователя |
|
|
hash |
VARCHAR(32) |
Хэш код пароля |
|
|
isAdmin |
BOOLEAN |
Флаг. Администратор |
|
|
isMaster |
BOOLEAN |
Флаг. Мастер |
|
|
name |
VARCHAR(50) |
Имя на сайте |
|
|
|
VARCHAR(50) |
Контакты. е-майл |
|
|
telefon |
VARCHAR(50) |
Контакты. Телефон |
Таблица 3.5 хранит записи о посещениях сайта зарегистрированными пользователями. Благодаря ей, можно узнать, как долго конкретный пользователь проводит времени на сайте.
Таблица 3.6 хранит сведения о записях на услуги. В ней ключ мастера и пользователя, а также время на которое записан посетитель и сколько денег он заплатил за оказанные услуги.
Таблица 3.5 Структура таблицы «Посещения сайта»
|
Поле |
Тип данных |
Сведения |
Назначение |
|
ID |
INT |
PRIMARY KEY |
Уникальный ключ таблицы |
|
id_users |
INT |
Ключ к таблицы Пользователи |
|
|
time_in |
VARCHAR(32) |
Время захода на сайт |
|
|
time_long |
VARCHAR(32) |
Время когда в последний раз была запрошена любая страничка |
|
|
browser |
INT |
FOREIGN KEY |
Ключ к таблицы Статистика |
Таблица 3.6 Структура таблицы «Запись на услуги»
|
Поле |
Тип данных |
Сведения |
Назначение |
|
ID |
INT |
PRIMARY KEY |
Уникальный ключ таблицы |
|
master_id |
INT |
FOREIGN KEY |
Ключ к таблицы Мастера |
|
datetime |
VARCHAR(50) |
Время на которое осуществлена запись н услугу |
|
|
datetime_end |
VARCHAR(50) |
Сколько времени будет длиться сеанс |
|
|
id_user |
BOOLEAN |
FOREIGN KEY |
Ключ к таблицы Пользователи |
|
money |
FLOAT |
Исходя из алгоритма работы сайта, можно отметить следующие основные запросы к базе данных:
- Запрос на добавление нового пользователя
- Запрос на проверку есть ли данный пользователь
- Запрос на добавление статистики посещения пользователем.
- Запрос на список мастеров.
- Запрос на добавление отзыва конкретному мастеру.
- Запрос на свободное время у мастера
- Запрос на добавления времени записи на услугу
В серверной части было решено не использовать пользовательские функции базы данных и все запросы делать напрямую к базе данных. Это связано с тем, что, так легче поддерживать кодовую базу и размер самой базы не велик.
Глава 4. Описание структуры клиентской части.
Клиентская часть приложения, это то, что будет отображено в браузере для клиента. Посетитель вводит в адресную строку путь до сайта или переходит по внешней ссылке и попадает на главную страницу.
Структура сайта представлена на рисунке 4.1.
Рисунок 4.1. Структура клиентской части
Сайт сверстан с адаптивным дизайном, это значит, что он автоматически подстраивает контент под разрешение того экрана на котором он отображается. На рисунке 4.9 показана главная страница, так, как если бы она была открыта на смартфоне. На рисунке 4.2 та же самая страница показана с экрана монитора стационарного компьютера.
На рисунках 4.3 – 4.8 показаны различные страницы сайта. Навигация по ним возможна с использованием меню, которое расположено в верхней части страницы. На каждой страницы за исключением главное, есть «хлебные крошки» ссылки на страницы, открытые перед выбранной.
Рисунок 4.2 Главная страница сайта.
Рисунок 4.3 Страница контакты.
Рисунок 4.4 Страница услуги.
Рисунок 4.5 Страница цены.
Рисунок 4.6 Страница акции.
Рисунок 4.7 Страница цены.
Рисунок 4.8 Страница портфолио.
Рисунок 4.9 Главная страница на экране смартфона.
В качестве инструмента для создания клиентской части сайта, был выбран программный пакет – Adobe Dreamweaver 20. Это программа имеет развитый графический интерфейс и позволяет быстро разрабатывать страницы и наполнять их контентом.
На Рисунка 4.10, 4.11 показан процесс создания страниц сайта.
Рисунок 4.10 Создание главное страницы сайта.
Рисунок 4.11 Редактирование страницы портфолио.
4.1 Описание интерфейса «Обычный пользователь».
Типовые сценарии посещения сайта могут быть такими:
- Пользователь заходит на сайт, узнает номер телефона и звонит администратору
- Пользователь заходит на сайт, находит нужного мастера и записывается к нему на прием
- Пользователь заходит на сайт, находит раздел отзывы, читает из и принимает решение посетить одну из парикмахерских
- Пользователь заходит на сайт, знакомится с ценами и звонит администратору чтобы выбрать удобное время для записи на прием.
- Пользователь посещает одну из парикмахерских, затем заходит на сайт, и оставляет свой отзыв на конкретного мастера.
Особенностью режима Обычный пользователь является не возможность вносить изменения во внутреннюю работу сайта. Такому пользователю доступно лишь оставлять отзывы и запрашивать запись на конкретное время к конкретному мастеру. Эти возможности открываются после регистрации на сайте. Форма регистрации показана на рисунке 4.13.
Рисунок 4.13 Форма регистрации.
4.2 Описание интерфейса «Администратор».
Для администраторов сайта разработана специальная страница, доступная по адресу admin.php. Данная страница отличается от главной страницы сайта более простым дизайном.
Особенностью данной страницы является доступ к возможностям редактирования работающих мастеров, формирования ответов на отзывы, просмотр и редактирование расписания мастеров.
Чтобы попасть на эту страницу необходимо пройти авторизацию и ввести пароль и логин администратора.
Рисунок 4.12 Страница администратора.
4.3 Инструкция пользователя.
Разработанный сайт имеет понятный интерфейс и материалистический дизайн. В целом и большинства пользователей сети интернет не должно возникнуть трудностей с навигацией по сайту и получением контента.