Перейти к содержимому
Catshredia
← К портфолио

Runews

Blazor WebAssemblyASP.NET CorePostgreSQLDockerSignalREF Core

Описание

Новостной агрегатор с пользовательскими статьями, системой модерации и персональной лентой

Проблема

Существует необходимость агрегации новостей из различных источников в едином интерфейсе с возможностью:

  • Добавления авторского контента
  • Модерации публикаций
  • Персонализации ленты по интересам
  • Обсуждения материалов через комментарии

Отсутствовало централизованное решение с гибкой системой управления правами доступа (читатели, авторы, модераторы, администраторы).

Решение

Разработано полнофункциональное веб-приложение Runews со следующей архитектурой:

Backend (ASP.NET Core)

  • REST API с JWT-аутентификацией
  • SignalR для real-time уведомлений
  • RSS/парсинг внешних источников
  • Email-рассылка через SMTP
  • Система модерации контента

Frontend (Blazor WebAssembly)

  • Персональная новостная лента
  • Редактор статей с Markdown
  • Подписка на теги
  • Админ-панель и модерация

Инфраструктура

  • PostgreSQL для хранения данных
  • Docker-контейнеризация
  • Nginx как reverse proxy
  • HTTPS через Let's Encrypt
  • Деплой на VPS (Timeweb)

Результат

Результат

Функциональное приложение с полным циклом работы с новостями:

  • Публикация и модерация статей
  • Агрегация из внешних RSS-источников
  • Система комментариев и жалоб
  • Персонализация контента

Production-ready деплой:

  • HTTPS на домене runews.catshredia.ru
  • Автосохранение черновиков (500ms)
  • Загрузка изображений (drag-and-drop, clipboard)
  • Интеграция с основным сайтом catshredia.ru

Технические достижения:

  • Hosted Blazor WebAssembly с SSR
  • Микросервисная архитектура в Docker
  • CI/CD pipeline (тесты, сборка)
  • Масштабируемая система ролей и прав