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