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