Разработка 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-сайт, полностью готовый к применению.

Запуск данного сайта позволит пользователям:

быстро находить необходимое заведение;

просматривать информацию о них;

оставлять свои комментарии о заведениях;

оценивать данное заведение;

увидеть местоположение заведения на карте.

Данный сайт ориентирован на жителей и гостей города Челябинска. Благодаря этому сайту пользователи смогут получить достоверную информацию об интересующих их заведениях, оцененных и прокомментированных другими пользователями.

При размещении его в глобальной сети география распространения возр