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