Кейс 17 / 17 · Full-stack AI-приложение · 2024

News Assistant Studio

Комплексная платформа для автоматизированного сбора, обработки, анализа и публикации новостей с использованием AI моделей и Telegram Bot интеграцией.

  • Время разработки: 15 дней
  • Страниц UI: 10+
  • AI провайдеров: 2
  • Строк кода: 25 000+

Задача

Необходимость ручной обработки, анализа и переписывания новостей отнимает много времени, отсутствует автоматизация публикации контента и аналитика эффективности.

Решение

Full-stack приложение (React + Express + SQLite) с интеграцией AI-моделей (Google Gemini, Mistral) для автоматической обработки, анализа и публикации новостей в Telegram канал с полной аналитикой и ручной модерацией.

Ключевое

React 19 + Express + SQLite · Google Gemini + Mistral AI · Telegram Bot API · 10+ страниц · WatermarkRemover подмодуль

Что сделано

  • Управление источниками: добавление Telegram-каналов, подписка на RSS-ленты, поиск по ключевым словам, фильтрация контента
  • AI-обработка новостей: переписывание текста, генерация привлекательных заголовков, анализ тональности (positive/negative/neutral)
  • AI-анализ: выявление рекламного контента (ad-score), автоматическое определение Breaking News, обработка через 2 провайдера (Gemini + Mistral)
  • Обработка изображений: загрузка и сохранение, удаление водяных знаков (WatermarkRemover-AI), обрезка, добавление собственного водяного знака, парсинг из контента
  • Модерация контента: ручная проверка перед публикацией, статусы (Approved/Pending/Rejected), live-preview новостей, логирование действий
  • Планирование и публикация: автоматическая публикация в Telegram-канал, график публикации с интервалами, ограничение постов в день
  • Управление очередью: просмотр и управление очередью постов с предпросмотром, установка заказной даты/времени публикации
  • Аналитика и статистика: график активности по источникам, временная тепловая карта (heatmap) популярности контента
  • AI analytics: рекомендации по лучшему времени публикации, подсчет уникальных/дубликатов/заблокированных новостей, анализ эффективности AI-провайдеров
  • Полное логирование: история всех действий с временными метками, фильтрация по типу события, источнику, AI-провайдеру, экспорт логов
  • Конфигурация API-ключей: управление Telegram Bot Token, Google Gemini API, Mistral API, управление промптами AI
  • Настройки интервалов: конфигурация периодической обработки, установка порогов и параметров фильтрации, уведомления о ошибках
  • 10+ разделов интерфейса: Home (статистика), Settings (конфиг), Sources (каналы), Moderation (проверка), Queue (очередь), Analytics (графики), History (события), AI Stats (анализ), Logs (детали), About (инфо)
  • Dark mode с responsive дизайном для всех устройств и экранов
  • Real-time счетчики с CountUp эффектом, анимированные переходы через Framer Motion
  • Live статус бота (подключен/отклонен), drag-and-drop для переупорядочивания элементов
  • Rich Text Editor (TipTap) для редактирования содержимого, Recharts для визуализации аналитики
  • React DnD Kit для управления порядком элементов, React Router для навигации между страницами
  • Redis кэширование и очередь для оптимизации производительности
  • WatermarkRemover-AI подмодуль: Python инструмент с Florence-2 и LaMA для удаления/реставрации водяных знаков
  • Batch-обработка, поддержка видео с сохранением аудио, CUDA ускорение, GUI на PyWebView с 6+ языками
  • Production-ready архитектура с обработкой ошибок, сбор ошибок через Sentry, интеграция с RSS Parser и Cheerio

Этапы

  1. Архитектура (2 дня) — Дизайн пайплайна обработки новостей, выбор AI-моделей, интеграции с источниками
  2. AI и обработка (4 дня) — Google Gemini + Mistral интеграция, переписывание текстов, анализ тональности, ad-score
  3. Frontend (4 дня) — 10+ разделов: Home, Settings, Sources, Moderation, Queue, Analytics, History, AI Stats, Logs
  4. Автоматизация (3 дня) — Планирование публикаций, очередь постов, обработка изображений, WatermarkRemover
  5. Аналитика и деплой (2 дня) — Heatmap, графики, Sentry, Redis кэширование, PM2, продакшн деплой

Следующий проект: WgSwitch