31c498af3935b5f6150b24fe1382030a1c32eeb9
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 не
используется.
kubectl apply -k k8s
API доступен через portal proxy /api/monitoring-pf/api/v1. Админские действия
определяются ролью admin в Portal через X-User-Is-Admin=1; локального
PIN-login больше нет.
Структура
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/ манифесты для портала
Description
Languages
Go
51.5%
Python
47.2%
Dockerfile
0.7%
Shell
0.6%