Разработка web-сайта о кафе, барах и ресторанах города Челябинска
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?кретное заведение. На странице есть карта, которая показывает местоположение данного заведения. Так же пользователь может прочитать полную информацию о заведение, для удобства, информация представлена в виде таблицы (Рисунок 5).
Рисунок 5 - Страница с информацией по конкретному заведению
(общая информация и карта)
Любой пользователь так же может оставить свой комментарий об этом заведении и оценить его (Рисунок 6). Оценка повышает рейтинг заведения и оно может попасть в список на главной странице. Для лучшего представления о заведении, представлен список фотографий - фотогалерея, При нажатии на любую фотографию, она увеличивается.
Рисунок 6 - Страница с информацией по конкретному заведению (комментарии и фотогалерея)
2.2 Модели
.2.1 Модель заведений - Firm
Модель Firm предоставляет доступ к информации о заведениях, хранимой в базе данных MySQL. Модель позволяет сделать следующие выборки данных:
getFieldsByFirm - информация о заведение для отображения ее в таблице,
getStats - общее количество заведений на сайте,
getOneByField - информация о заведении по ее условному обозначнию,
search - постраничный список заведений удовлетворяющих поисковому запросу,
getListByTag - постраничный список заведений относящихся к конкретной категории,
getListFavorites - постраничный список заведений, отсортированный по убыванию рейтинга,
getListLatest - постраничный список заведений, отсортированный по убыванию даты регистрации заведения.
Каждая запись модели Firm содержит следующие поля:
name - Название заведения
slug - Условное обозначение
address - Адрес заведения
point - Координаты на Яндекс.Картах
avg_price - Средняя цена на человека
date_open - Дата открытия
raion_id - Район, в котором распологается заведение
cat_id - Основная категория заведения
short - Краткое описание заведения
full - Особенности конкретного заведения
count_zal - Количество залов
order_table - Заказ столика
advanced_services - Дополнительные услуги
count_places - Общее количество мест
parking - Парковка
phones - Телефоны
timetable - Время работы
programm - Развлечения и программа
Полный код модели представлен в Приложении Б.
.2.2 Модель категорий - Tag
Модель Tag предоставляет доступ к информации о категориях, хранимой в базе данных MySQL. Модель позволяет сделать следующие выборки данных:
getListOrderByCount - список категорий, с количеством заведений в каждой категории,
getListByFirm - список категорий конкретного заведения.
Каждая запись модели Tag содержит следующие поля:
name - Название категории
slug - Условное обозначение
Полный код модели представлен в Приложении В.
.2.3 Прочие модели
Так же были созданы следующие модели:
Banner - Модель баннеров
Cat - Модель основных категорий заведений
Counter - Модель счетчиков
Firms_comment - Модель комментариев к заведениям
Firms_photo - Модель фотогалереи
Firms_rate - Модель рейтингов
menu - Модель меню сайта
option - Модель параметров сайта
raion - Модель районов города
resize_image - Модель создания уменьшеных изображений для фотогалереи- Модель пользователей (менеджеров сайта)
.3 Контроллеры
.3.1 Контроллер Firms
Контроллер Firms отвечает за обработку запроса пользователя по конкретному заведению. Для этого используется метод класса display. В этом методе вызываются функции моделей Firm, Tag, Firms_comment, Firms_rate и Firms_photo, для получения информации о фирме, списка категорий, относящихся к фирме, списка комментариев и фотографий и рейтинга заведения. Затем эта информация передается в отображение firms/display.php
.3.2 Контроллер Tags
Контроллер Tags отвечает за обработку запроса пользователя по конкретной категории и запроса главной странице.
Для обработки запроса главной страницы используется метод класса index. В этом методе вызываются функции моделей Firm и Tag, для получения информации о списке популярных и недавно добавленных заведений. Затем эта информация передается в отображение tags/index.php.
Для обработки запроса пользователя по конкретной категории используется метод класса display. В этом методе вызываются функции моделей Firm и Tag, для получения информации о списке заведений, относящихся к данной категории и собственно о категории. Затем эта информация передается в отображение tags/display.php.
.4 Отображения
Все отображения наследуются от общего шаблона layouts_html.php. В этом отображении содержиться общие для всех страниц сайта элементы - верхняя часть сайта (название сайта, статистическая информация и форма поиска), карта от сервиса Яндекс.Карт, нижняя часть сайта. Полный код шаблона приведен в Приложении Г.
ЗАКЛЮЧЕНИЕ
В ходе выполнения дипломного проекта был создан полнофункциональный web-сайт, полностью готовый к применению.
Запуск данного сайта позволит пользователям:
быстро находить необходимое заведение;
просматривать информацию о них;
оставлять свои комментарии о заведениях;
оценивать данное заведение;
увидеть местоположение заведения на карте.
Данный сайт ориентирован на жителей и гостей города Челябинска. Благодаря этому сайту пользователи смогут получить достоверную информацию об интересующих их заведениях, оцененных и прокомментированных другими пользователями.
При размещении его в глобальной сети география распространения возр