An open API service indexing awesome lists of open source software.

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 — архитектура, документация и презентация микросервисного агрегатора новостей

Awesome Lists containing this project

README

          

# E-News

Система агрегации и рассылки новостей из официальных источников.

## О проекте

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

Проект представляет собой распределенную систему, которая собирает новости из заданных источников, обрабатывает их и рассылает пользователям.

## Возможности

- Сбор новостей из HTML страниц и RSS лент
- Категоризация по тематикам
- Персонализированная рассылка с возможностью фильтрации
- Поддержка Telegram и VK в качестве каналов доставки
- Гибкая архитектура для добавления новых источников

## Архитектура

Система построена на микросервисной архитектуре. Выделены следующие компоненты:

- Ядро — управляет процессом сбора данных и обработки
- Сервис парсинга — извлекает данные из источников
- Брокер сообщений — обеспечивает асинхронное взаимодействие
- База данных — хранит последние новости и данные пользователей
- Каналы доставки — отправляют новости подписчикам

Все компоненты взаимодействуют асинхронно через брокер сообщений, что позволяет системе оставаться отказоустойчивой и масштабируемой.

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

- Языки программирования: Go, Python
- База данных: MongoDB
- Брокер сообщений: Mosquitto (MQTT)

## Документация

Полная документация находится в папке docs и включает следующие разделы:

- Введение — описание проблемы, обзор решения, методология
- Архитектура — компоненты, модели данных, бизнес-процессы
- Реализация — детали каждого компонента системы
- Развертывание — установка, конфигурация, запуск
- Эксплуатация — мониторинг, обслуживание, резервное копирование
- Развитие — дорожная карта, перспективы улучшения

## Перспективы развития

- Оптимизация производительности парсинга
- Решение проблемы обхода капчи
- Настройка таймеров для парсинга источников

## Лицензия

MIT License