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