Реализовать веб-приложение с использованием следующих технологий: Yii, mongodb или couchdb.
Тема приложения: Сайт отзывов о товарах (аналог irecommend.ru)
- управление контентом (списком товаров и категориями товаров - CRUD) в админке
- поиск товара по его описанию
- отзывы, рейтинг для каждого товара
- у каждого товара может быть несколько категорий, которые можно прикрепить в админке
Лабораторная выполнена с использованием фреймворка Yii и базы данных [mongodb].
- Выгрузить проект из репозитория:
git clone https://github.com/akonit/lab3.git
- Поместить выгруженную директорию lab3 в корневую папку веб-сервера, поднятого на компьютере (приложение тестировалось на Apache: веб-директория /var/www, само приложение размещено по пути /var/www/lab3).
- При использовании линукса нужно добавить прав для выгруженной директории:
sudo chmod -R 777 lab3
sudo chown www-data -R lab3
- Накатить базу данных: в директории lab3 выполнить следующую команду:
mongo < protected/data/schema.update
- Для доступа к главной странице приложения необходимо в браузере перейти по адресу
http://localhost/lab3/index.php
. Пользовательский доступ к приложению - demo/demo, админский - admin/admin.
- Удостовериться, что на компьютере установлен драйвер для работы с
mongo
из-подphp
- MongoDB PHP driver. - Добавить в
php.ini
файл следующую строку:
extension=mongo.so
3. Проверить, что пункт 2 был выполнен именно для php.ini
, используемого сервером. Сделать это можно, раскомментировав в самом начале файла protected/config/main.php
строку:
phpinfo();
В результате, при следующем включении приложения на главной странице отобразятся данные по конфигурации сервера, на котором поднимается приложение. Пункт 2 нужно выполнять для php.ini
, указанного в этих настройках.
4. Проверить, что драйвер успешно установлен:
php -m
В выводе этой команды нужно найти строку mongo
- ее наличие означает, что драйвер успешно установлен.
4. Перезапустить сервер, на котором хостится приложение.
- Проставление оценки товару осуществляется на странице товара.
- Функция написания отзыва о продукте доступна в правой части экрана вместе с CRUD функциями.
- Написание отзывов и проставление оценки доступно только для авторизированных пользователей (demo/demo).
- Продукты и категории связаны через дополнительную таблицу в базе данных, отображемую и редактируемую на сайте во вкладке "Связь между продуктами и категориями".
Откат базы данных выполняется при помощи следующей команды в директории lab3:
mongo < protected/data/schema.rollback