https://github.com/abombalemba/e-news
E-News — архитектура, документация и презентация микросервисного агрегатора новостей
https://github.com/abombalemba/e-news
architecture documentation golang mongodb mosquitto parsing python rup
Last synced: about 1 month ago
JSON representation
E-News — архитектура, документация и презентация микросервисного агрегатора новостей
- Host: GitHub
- URL: https://github.com/abombalemba/e-news
- Owner: abombalemba
- License: mit
- Created: 2026-03-27T19:57:50.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-03-28T21:32:48.000Z (3 months ago)
- Last Synced: 2026-03-29T00:21:11.554Z (3 months ago)
- Topics: architecture, documentation, golang, mongodb, mosquitto, parsing, python, rup
- Homepage:
- Size: 26.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# E-News
Система агрегации и рассылки новостей из официальных источников.
## О проекте
E-News решает проблему информационного шума и фрагментации данных.
Информация разбросана по множеству сайтов и лент. Пользователь тратит время на посещение разных ресурсов и фильтрацию повторяющегося контента.
Проект представляет собой распределенную систему, которая собирает новости из заданных источников, обрабатывает их и рассылает пользователям.
## Возможности
- Сбор новостей из HTML страниц и RSS лент
- Категоризация по тематикам
- Персонализированная рассылка с возможностью фильтрации
- Поддержка Telegram и VK в качестве каналов доставки
- Гибкая архитектура для добавления новых источников
## Архитектура
Система построена на микросервисной архитектуре. Выделены следующие компоненты:
- Ядро — управляет процессом сбора данных и обработки
- Сервис парсинга — извлекает данные из источников
- Брокер сообщений — обеспечивает асинхронное взаимодействие
- База данных — хранит последние новости и данные пользователей
- Каналы доставки — отправляют новости подписчикам
Все компоненты взаимодействуют асинхронно через брокер сообщений, что позволяет системе оставаться отказоустойчивой и масштабируемой.
## Стек технологий
- Языки программирования: Go, Python
- База данных: MongoDB
- Брокер сообщений: Mosquitto (MQTT)
## Документация
Полная документация находится в папке docs и включает следующие разделы:
- Введение — описание проблемы, обзор решения, методология
- Архитектура — компоненты, модели данных, бизнес-процессы
- Реализация — детали каждого компонента системы
- Развертывание — установка, конфигурация, запуск
- Эксплуатация — мониторинг, обслуживание, резервное копирование
- Развитие — дорожная карта, перспективы улучшения
## Перспективы развития
- Оптимизация производительности парсинга
- Решение проблемы обхода капчи
- Настройка таймеров для парсинга источников
## Лицензия
MIT License