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