43 lines
1.9 KiB
Markdown
43 lines
1.9 KiB
Markdown
# monitoring-pf
|
||
|
||
Сервис мониторинга объявлений PropertyFinder по DLD Permit Number для портала.
|
||
Он хранит проекты, конкурирующие объявления и историю цен. Пользовательский UI
|
||
живёт в Portal: `portal/frontend/src/app/features/monitoring-pf`; этот сервис
|
||
отдаёт только JSON API, Telegram bot и scheduler.
|
||
|
||
## Назначение
|
||
|
||
- отслеживать изменение цены конкурента;
|
||
- фиксировать удаление/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
|
||
app/
|
||
├── config.py настройки окружения
|
||
├── db.py SQLAlchemy engine/session
|
||
├── models.py Employee, Project, CompetitorListing, PriceHistory
|
||
├── web.py FastAPI JSON API для Portal
|
||
├── bot.py Telegram-бот
|
||
├── scheduler.py фоновый сканер
|
||
├── scrapers/ PropertyFinder/Bayut парсеры
|
||
├── services/ бизнес-логика и уведомления
|
||
k8s/ манифесты для портала
|
||
```
|