API endpoints /api/v1/analytics/object/{id}/{sale_graph,sales_agg,infra,photos} #15

Closed
opened 2026-04-27 15:38:39 +00:00 by lekss361 · 1 comment
lekss361 commented 2026-04-27 15:38:39 +00:00 (Migrated from github.com)

После того как scraper заполнил extras-таблицы, нужно открыть их UI через FastAPI router.

Scope

  • GET /api/v1/analytics/object/{id}/sale_graph?type=apartments|parking — time-series для ECharts sparkline
  • GET /api/v1/analytics/object/{id}/sales_agg — current sold% / total / realised для трёх типов
  • GET /api/v1/analytics/object/{id}/infrastructure — POI с категориями для Leaflet-карты
  • GET /api/v1/analytics/object/{id}/photos — список фото с photo_url для галереи

UI

  • Новая страница /analytics/objects/[id] (Next.js App Router) — карточка ЖК с галереей, sparkline, POI-картой
  • На /analytics/prinzip — таблица «PRINZIP-объекты с velocity» (sparkline в каждой строке через recharts/echarts)
  • Drill-in: клик по leaderboard в /analytics/developers → страница ЖК

Acceptance

  • Парк Победы (60160) показывает 9-точечную линию apartments (Apr-Dec 2025)
  • POI группируются: Спорт 60+, Образование 45+, Транспорт ~5
  • Фото-галерея отображает 50-100 фото (objPhotoUrl напрямую с DOM.РФ, без proxy)
После того как scraper заполнил extras-таблицы, нужно открыть их UI через FastAPI router. ## Scope - `GET /api/v1/analytics/object/{id}/sale_graph?type=apartments|parking` — time-series для ECharts sparkline - `GET /api/v1/analytics/object/{id}/sales_agg` — current sold% / total / realised для трёх типов - `GET /api/v1/analytics/object/{id}/infrastructure` — POI с категориями для Leaflet-карты - `GET /api/v1/analytics/object/{id}/photos` — список фото с photo_url для галереи ## UI - Новая страница `/analytics/objects/[id]` (Next.js App Router) — карточка ЖК с галереей, sparkline, POI-картой - На `/analytics/prinzip` — таблица «PRINZIP-объекты с velocity» (sparkline в каждой строке через recharts/echarts) - Drill-in: клик по leaderboard в /analytics/developers → страница ЖК ## Acceptance - Парк Победы (60160) показывает 9-точечную линию apartments (Apr-Dec 2025) - POI группируются: Спорт 60+, Образование 45+, Транспорт ~5 - Фото-галерея отображает 50-100 фото (objPhotoUrl напрямую с DOM.РФ, без proxy)
lekss361 commented 2026-04-27 16:29:49 +00:00 (Migrated from github.com)

Готово.

Backend (4+1 endpoints):

  • GET /api/v1/analytics/object/{id}
  • GET /api/v1/analytics/object/{id}/sale_graph?type=apartments|parking
  • GET /api/v1/analytics/object/{id}/sales_agg
  • GET /api/v1/analytics/object/{id}/infrastructure?category=&max_distance=
  • GET /api/v1/analytics/object/{id}/photos?limit=
  • GET /api/v1/analytics/prinzip/objects (с sparkline-данными)

Frontend:

  • Новая страница /analytics/objects/[id] — KPI блок, sale-chart (apartments + parking + price line), POI-таблица с фильтром по категории/радиусу, фото-галерея с lightbox.
  • На /analytics/prinzip добавлена таблица 'ЖК PRINZIP — таблица с velocity' с sparkline-cell в каждой строке + кнопка Drill-in →

TS clean. Готово к работе после 442-sweep (#13 разблокирует данные).

Готово. Backend (4+1 endpoints): - GET /api/v1/analytics/object/{id} - GET /api/v1/analytics/object/{id}/sale_graph?type=apartments|parking - GET /api/v1/analytics/object/{id}/sales_agg - GET /api/v1/analytics/object/{id}/infrastructure?category=&max_distance= - GET /api/v1/analytics/object/{id}/photos?limit= - GET /api/v1/analytics/prinzip/objects (с sparkline-данными) Frontend: - Новая страница /analytics/objects/[id] — KPI блок, sale-chart (apartments + parking + price line), POI-таблица с фильтром по категории/радиусу, фото-галерея с lightbox. - На /analytics/prinzip добавлена таблица 'ЖК PRINZIP — таблица с velocity' с sparkline-cell в каждой строке + кнопка Drill-in → TS clean. Готово к работе после 442-sweep (#13 разблокирует данные).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#15
No description provided.