Общая задача

Разработать современный новостной сайт, который позволит пользователям удобно сортировать материалы по категориям и искать интересующие статьи. Для администратора необходимо предусмотреть мощную панель управления с визуализацией данных.

Ключевые требования

Публичная часть (клиент)

  • Адаптивный дизайн для всех устройств (десктоп / планшет / мобильные)
  • Лента новостей с динамической фильтрацией по категориям
  • Функция полнотекстового поиска по заголовкам и контенту
  • Регистрация и авторизация пользователей (опционально)

Панель администратора

  • Управление новостями: добавление, редактирование, удаление, публикация/черновик
  • Управление категориями новостей
  • Система ролей (админ, редактор, модератор)
  • Сводные таблицы с данными по статьям: количество просмотров, лайки, дизлайки, комментарии
  • Несколько статистических счетчиков (общее количество материалов, уникальных посетителей, активных пользователей и т.п.)
  • График просмотров и реакций - визуализация (линейные графики, столбцы) за период: по дням/неделям/месяцам
  • Фильтрация по дате и категории в таблицах
  • Экспорт отчётов (опционально)

Стек технологий

  • Бэкенд - Nest.js
  • Фронтвэнд - Nuxt.js (Vue 3) с SSR/SSG
  • База данных - структура должна обеспечивать быстрые выборки для аналитики
  • Реальные API-запросы, REST или GraphQL (возможен SSR на Nuxt)

Ожидаемые функциональные результаты

  • Быстрая загрузка страниц (с учётом SSR)
  • Интуитивно понятный интерфейс как для посетителей, так и для менеджеров площадки
  • Качественная документация и комментарии в коде

Примечание

Заказчик предоставляет необходимую верстку и сетку дизайна. Исполнитель должен реализовать полнофункциональную внутреннюю логику, интеграцию и админ-зону согласно описанию. Приветствуется работа с переиспользуемыми компонентами.