Commit graph

2 commits

Author SHA1 Message Date
bot-backend
9a73da4ce0 fix(tradein/pdf): МЕРА branding + fix 'Год постройки None' + drop duplicate deals-range on cover
- Дефолт-бренд generic: name «Trade-In Estimator» → «МЕРА» (brand.py). Masthead/
  footer/подписи секций читают brand.name → отчёт теперь брендирован МЕРА;
  white-label бренды (реальное name в brands) не тронуты.
- Cover: year_built=None утекал литеральным «None» в «Год постройки» → «—».
- Cover: убран дубль-бар «Диапазон цен по фактическим сделкам» (уже есть на
  стр. 03) — часть ужимания cover до одной A4-страницы. Тесты обновлены.
2026-07-13 20:37:48 +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