← К портфолио
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 (тесты, сборка)
- Масштабируемая система ролей и прав