Кейс: как мы в ICONICA мониторили кандидата перед выборами и создали сервис поиска новостей

Сначала о заказчикеО нем ничего сказать не можем, потому что подписали соглашение NDA еще на старте. Вся информация о клиенте конфиденциальна и разглашению не подлежит. Просто намекнем, что заказчик был кандидатом на выборах, а к нам обратился с целью провести мониторинг себя в интернете. Не вопрос.Надо «нарыть» информацию в сети? Сделаем! Сначала разработаем сервис поиска новостей, а потом выдадим все данные о вас, которые годами скрывались в закоулках интернета.Теперь о сервисе, который нам предстояло разработатьСервис поиска новостей - это цифровой инструмент, который помогает пользователям находить конкретную информацию в новостных статьях по ключевым запросам.Технология основана на алгоритмах поиска, которые сканируют большие объемы новостного контента на наличие совпадений с ключевыми словами. В огромном цифровом ландшафте новостей и СМИ этот инструмент мониторинга особенно полезен.Чтобы улучшить функционал сервиса, к поиску по ключевым словам мы добавили различные фильтры:· география;· период времени;· типы источников и другие.Эти функции позволяют организовать эффективную работу с новостным контентом и автоматически находить в тексте объекты (людей, бренды, локации) и факты (награды, конфликты, увольнения и т.д.).Технологии, которые использовалиСтек технологий, используемых командой в проекте по мониторингу, был довольно обширным.ФронтендАдминку создавали на базе прогрессивного фреймворка VueJS. Это оптимальное решение для разработки пользовательских интерфейсов и одностраничных веб-приложений на JavaScript. Плюсы Vue - гибкость и способность постепенно адаптироваться.Бэк для фронта (MVC)За базу взяли PHP + Yii2. Это динамично развивающийся, компонентный фреймворк на PHP с хорошо проработанной документацией и множеством готовых написанных расширений. Он реализует архитектуру MVC, когда блок №1 отвечает за данные, блок №2 - за внешний вид, а блок №3 - за работу приложения.Также использовали Sphinx для создания обширной и качественной документации и поисковый сервер Manticore Search - для быстрого, масштабируемого и точного полнотекстового поиска.Микросервисы· Python· Asyncio· FastAPI, Flask, Django - REST микросервисов· Celery - распределенное выполнение задач· Scrapy, Srapy-cluster - для сбора данных· Faust-streaming - для обработки потоковых данныхИнфраструктура· Kafka - брокер для обработки потоков данных в режиме онлайн.· Redis - хранилище для оперативной информации, а также в качестве брокера для Celery.· MySQL - хранение общей информации о пользователях, ролях, настройках в системе.· Clickhouse - хранение больших объемов данных (например, новостей).Что в итоге?Заказчик получил удобный и эффективный в работе инструмент для мониторинга новостного контента. Сервис помог одержать победу в выборах и сейчас используется для отслеживания новостей и различных информационных поводов.Веб-разработка может выполнять самые разные задачи. Наша команда программистов и разработчиков ICONICA с удовольствием возьмет на себя решение самых разных бизнес-запросов и задач. Даже если кому-то они кажутся странными или невыполнимыми) Мы стремимся удовлетворить все требования клиентов, превращая их идеи в уникальную веб-реальность и даем бизнесам необходимый рост и развитие.

Читайте на 123ru.net