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