Отзывы на товары и услуги
Реализуйте сайт, на котором пользователи могут оставлять отзывы на товары и услуги, указывая плюсы и минусы, а также прилагая фото.
Продумайте структуру базы данных для хранения пользователей, отзывов, товаров, категорий и комментариев. Реализуйте загрузку изображений на сервер. Реализуйте регистрацию и авторизацию пользователей. Настройте серверную часть для работы с API. Все операции должны выполняться через AJAX-запросы без перезагрузки страницы.
Основные возможности проекта
- Регистрация и авторизация пользователей.
- Главная страница со списком отзывов и пагинацией.
- Страница отзыва с полной информацией, плюсами и минусами.
- Загрузка фото к отзыву.
- Комментарии к отзывам (с регистрацией).
- Админ-панель для модерации отзывов.
- Все операции выполняются через AJAX без перезагрузки страницы.
Регистрация и авторизация
На сайте должна быть реализована регистрация и авторизация пользователей:
- Регистрация - форма с полями: логин, email, пароль.
- Авторизация - форма с полями: логин, пароль.
- Отзывы могут оставлять только зарегистрированные пользователи.
- Комментарии могут оставлять только зарегистрированные пользователи.
Главная страница
На главной странице сайта должен выводиться список из 10 отзывов с пагинацией. Для каждого отзыва должны выводиться:
- Название товара или услуги.
- Маленькое фото товара (изображение).
- Автор отзыва.
- Тип отзыва (негативный, позитивный) с цветовой индикацией.
- Первые 50 слов отзыва.
- Ссылка на страницу с полным текстом отзыва.
- Дата публикации.
На странице должна быть возможность фильтровать отзывы по типу (показать только позитивные или только негативные) и по категории товара/услуги через AJAX.
Страница отзыва
На странице отзыва должны выводиться:
- Название товара или услуги.
- Фотография товара (изображение).
- Автор отзыва.
- Тип отзыва (негативный, позитивный).
- Полный текст отзыва.
- Список плюсов (маркированный список).
- Список минусов (маркированный список).
- Дата публикации.
- Оценка товара (от 1 до 5 звезд).
- Категория товара/услуги.
Комментарии
На странице отзыва пользователи сайта могут оставлять комментарии:
- Комментарии могут оставлять только зарегистрированные пользователи.
- Форма комментария: текст комментария (текстареа).
- Отображение имени автора комментария, даты и текста.
- Комментарии отображаются в хронологическом порядке (сначала старые).
- Количество комментариев у отзыва.
Добавление отзыва
Зарегистрированные пользователи могут добавлять отзывы через форму на сайте. Форма добавления отзыва содержит следующие поля:
- Название товара или услуги (инпут).
- Категория (выпадающий список).
- Фотография товара (загрузка изображения).
- Тип отзыва (выпадающий список: позитивный, негативный).
- Оценка товара (от 1 до 5 звезд).
- Плюсы (текстареа, каждый плюс с новой строки).
- Минусы (текстареа, каждый минус с новой строки).
- Текст отзыва (текстареа).
- Кнопка "Отправить на модерацию".
После отправки отзыв попадает в очередь на модерацию.
Админ-панель
Отзывы должны проходить модерацию через админ-панель. Администратор может управлять отзывами:
- Список всех отзывов с фильтром по статусу (на модерации, одобрен, отклонен) и по типу (негативный, позитивный).
- Для каждого отзыва: название товара, автор, тип, статус, дата.
- Действия: принять (одобрить), отклонить (с указанием причины), редактировать.
- При отклонении отзыва автору отправляется уведомление с причиной.
Взаимодействие с сервером
Все операции выполняются через AJAX-запросы:
- При загрузке страницы данные загружаются с сервера.
- При добавлении, редактировании, удалении или изменении статуса отзыва данные отправляются на сервер, после успешного ответа обновляется интерфейс.
- При добавлении комментария данные отправляются на сервер, после успешного ответа обновляется список комментариев.
Дополнительные возможности
- Поиск отзывов по названию товара или автору.
- Сортировка отзывов по дате или оценке.
- Статистика по товарам (количество отзывов, средний рейтинг).