Анекдоты
Реализуйте сайт с подборками анекдотов по различным категориям.
Продумайте структуру базы данных для хранения анекдотов (текст, категория). Вручную вбейте в базу 30-50 анекдотов из разных категорий (например, "Программисты", "Вовочка", "Штирлиц", "Политика", "Армия" и т.д.). Все данные должны храниться в базе данных и выводиться на соответствующих страницах.
Основные возможности проекта
- Главная страница со списком анекдотов и пагинацией.
- Меню с категориями для фильтрации анекдотов.
- Админ-панель для добавления, редактирования и удаления анекдотов.
Главная страница
На главной странице сайта должен выводиться список из 20 анекдотов с пагинацией. Для каждого анекдота должны выводиться:
- Текст анекдота.
- Категория анекдота.
- Дата добавления.
Анекдоты должны быть отсортированы по дате добавления (сначала новые).
Категории
Каждый анекдот должен относиться к определенной категории. В меню сайта должны выводиться все категории в виде ссылок. При клике на категорию открывается страница со списком анекдотов только этой категории с пагинацией (по 20 анекдотов). На странице категории должно быть указано название категории и общее количество анекдотов в ней.
Админ-панель
В админ-панели администратор может управлять анекдотами:
- Просмотр списка всех анекдотов с пагинацией (по 20 анекдотов).
- Для каждого анекдота: текст, категория, дата добавления.
- Фильтр по категории.
- Действия: редактировать, удалить (с подтверждением).
- Ссылка на создание нового анекдота.
Добавление и редактирование анекдота
Форма добавления и редактирования анекдота содержит следующие поля:
- Текст анекдота (текстареа).
- Категория (выпадающий список).
- Кнопка "Сохранить".
Управление категориями
В админ-панели должна быть возможность управлять категориями:
- Список всех категорий с указанием количества анекдотов в каждой.
- Действия: редактировать название, удалить (с проверкой наличия анекдотов).
- Ссылка на создание новой категории.