gendesign/tradein-mvp/docs/README.md
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

35 lines
2.6 KiB
Markdown
Raw 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.

# docs/
Референсы для Trade-In MVP.
## `BRUSNIKA_REFERENCE_EKB-2485.pdf`
4-страничный отчёт «Брусника.Обмен» от 12.05.2026, объект Софьи Перовской 119/368 (Екатеринбург).
Это **эталон layout-а** который Максим хочет получить (см. протокол Птицы 0:42:04: *«главное, чтобы выходила околореалистичная картинка как у Брусники»*). Структура:
| Стр. | Что |
|---|---|
| 1 | Hero — параметры объекта + два диапазона цен (объявления / сделки) + блок «что важно при оценке» |
| 2 | Объявления-аналоги — 47 шт., источники Я.Недвижимость + Циан + ДомКлик + Avito + Росреестр, диапазон + табличка top-5 |
| 3 | Фактические сделки — 12 шт. из Этажи + ДомКлик + Росреестр за период 10.2025-05.2026, вывод «сделки на 5-12% ниже объявлений» |
| 4 | Формирование выкупной стоимости — сравнение Брусника.Обмен vs самостоятельная продажа + 4 преимущества |
PDF-генератор в `backend/app/services/exporters/trade_in_pdf.py` уже повторяет эту структуру через WeasyPrint.
## `PTITSA_MEETING_2026-05-19.pdf`
AI-протокол встречи Максима Басова и Антона/Алекса 19.05.2026, 21:12. Это **источник требований** для MVP.
Топ важных моментов:
- Концепция: сбор данных по квартире → подсос картографии ЕКБ → парсинг 6 агрегаторов → PDF-отчёт с PDF-кнопкой
- MVP-scope: **только актуальные объявления + исторические за квартал**, без ДДУ
- Монетизация: ~1% с каждой подтверждённой сделки
- Срок MVP: **понедельник 25.05.2026**; демо: четверг 28.05.2026
- Sales engineer обязательно (без него продукт не взлетит)
- Серверы арендуем, не покупаем
- Доступ только Геныч / Загайнов / Паша Глухов. **НЕ Рожкова.**
## ROADMAP
Связан с roadmap в основном [README](../README.md). Phase 1 — замена mock-формулы на реальный парсинг.