feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) #369
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#369
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/tradein-mvp"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что
Добавляет подпроект
tradein-mvp/— Trade-In Estimator для ЕКБ. Отдельный docker stack (gendesign-tradein) внутри той же репы.Public URLs:
gendsgn.ru/trade-in/— Next.js фронт (basePath=/trade-in)gendsgn.ru/trade-in/api/v1/*— FastAPI бэкСостав
tradein-mvp/backend/) — FastAPI + PostGIS estimator + 3 scrapers (Avito/Cian/Yandex) + WeasyPrint PDFtradein-mvp/frontend/) — Next.js 15 + React 19, дизайн по mockuptradein.html, 6 EKB presetstradein-mvp/docker-compose.prod.yml— изолированный stack (своя postgres, не лезет в gendesign)Caddyfile(3 handle блока перед общим reverse_proxy frontend).forgejo/workflows/deploy-tradein.yml— shell-based GHCR login черезsecrets.GHCR_PAT, triggers только наtradein-mvp/**Не затрагивает
backend/,frontend/,docker-compose.prod.ymlосновного gendesign.forgejo/workflows/deploy.yml— оба workflow ортогональны (разные paths)/api/*,/health,/preview/*Первый запуск на сервере (вручную, один раз)
Делаю сам после merge:
ssh root@<DEPLOY_HOST>→/opt/gendesigngit fetch && git reset --hard origin/maintradein-mvp/.env.runtime(postgres pwd черезopenssl rand -hex 32)docker network create gendesign_shared(если нет)cd tradein-mvp && docker compose -p gendesign-tradein -f docker-compose.prod.yml up -ddocker compose -p gendesign exec caddy caddy reload --config /etc/caddy/Caddyfilecurl https://gendsgn.ru/trade-in/api/health+ playwright UI smokeОткат
docker compose -p gendesign-tradein down+ удалить tradein routes из Caddyfile + caddy reload.Стек gendesign-tradein полностью изолирован —
downего не затронет основной gendesign.- 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