# monitoring-pf Сервис мониторинга объявлений PropertyFinder по DLD Permit Number для портала. Он хранит проекты, конкурирующие объявления и историю цен. Пользовательский UI живёт в Portal: `portal/frontend/src/app/features/monitoring-pf`; этот сервис отдаёт JSON API, Telegram bot и scheduler. Инфраструктурные процессы написаны на Go; Python оставлен для скраперов PropertyFinder/Bayut и внутреннего worker. ## Назначение - отслеживать изменение цены конкурента; - фиксировать удаление/withdrawn объявлений; - находить новые объявления с тем же DLD Permit Number; - уведомлять ответственных сотрудников через Telegram. ## Развёртывание Сервис рассчитан на запуск только внутри k8s. Настройки лежат в `k8s/configmap.yaml`, секреты — в `k8s/secrets.yaml`. Локальный `.env` не используется. ```bash kubectl apply -k k8s ``` API доступен через portal proxy `/api/monitoring-pf/api/v1`. Админские действия определяются ролью `admin` в Portal через `X-User-Is-Admin=1`; локального PIN-login больше нет. ## Структура ```text cmd/ ├── server/ Go JSON API для Portal ├── bot/ Go Telegram-бот ├── scheduler/ Go фоновый сканер internal/pf/ общий Go-код БД/API/Telegram app/ ├── worker.py внутренний Python JSON worker для Go ├── config.py настройки окружения для worker ├── db.py SQLAlchemy engine/session для worker ├── models.py Employee, Project, CompetitorListing, PriceHistory ├── scrapers/ PropertyFinder/Bayut парсеры ├── services/ бизнес-логика и уведомления k8s/ манифесты для портала ```