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