Files
monitoring-pf/README.md
2026-06-05 10:18:42 +03:00

47 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/ манифесты для портала
```