Commit graph

2 commits

Author SHA1 Message Date
lekss361
931396819b refactor(tradein): avito search — remove jitter (C-5) + mobile API dead code + parse houseLinks
- DELETE _fetch_via_mobile_api + _mobile_item_to_lot (200 LOC dead code, H-6 audit)
- DELETE _RE_AVITO_STATE + _extract_avito_state + _items_from_state (state empty since 2025)
- DELETE _state_item_to_lot (unused after state path removal)
- FIX C-5: _dom_card_to_lot now sets lat=lon=None (no anchor+jitter silent corruption)
  Точные coords придут из avito_detail.py (Stage 2b) или geocode-missing cron
- ADD parse <a href="/catalog/houses/..."> -> house_source/house_ext_id/house_url
- ADD listing_segment detection (vtorichka/novostroyki) from item URL pattern
- EXTEND ScrapedLot (base.py): 4 новых поля
- EXTEND save_listings INSERT: 4 новых колонок

Refs: Stage 2a of AvitoScraper_v2 plan.
2026-05-23 14:48:57 +03:00
lekss361
02267d0306 feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in)
- FastAPI backend: PostGIS estimator + 3 scrapers (Avito/Cian/Yandex)
- Next.js 15 frontend: tradein.html mockup design, basePath=/trade-in
- WeasyPrint PDF (Брусника-style 4-page report)
- Address autocomplete с typo-tolerance + 6 EKB presets
- Изолированный docker stack gendesign-tradein (отдельная postgres БД)
- Caddy inline routes: gendsgn.ru/trade-in/* и /trade-in/api/v1/*
- Forgejo Actions: .forgejo/workflows/deploy-tradein.yml (shell-based GHCR login)
- Триггер только по paths: tradein-mvp/** (не пересекается с deploy.yml)
- Образы: ghcr.io/lekss361/gendesign-tradein-{backend,frontend}:latest

Первый запуск на сервере (вручную, один раз):
  - создать /opt/gendesign/tradein-mvp/.env.runtime (postgres pwd, contact email)
  - docker network create gendesign_shared (если нет)
  - docker compose -p gendesign-tradein up -d
  - docker compose -p gendesign exec caddy caddy reload
2026-05-21 00:25:39 +03:00