- 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
50 lines
785 B
Text
50 lines
785 B
Text
# Trade-In MVP
|
|
|
|
# Backend Python
|
|
backend/.venv/
|
|
backend/__pycache__/
|
|
backend/**/__pycache__/
|
|
backend/*.egg-info/
|
|
backend/.pytest_cache/
|
|
backend/.ruff_cache/
|
|
backend/.mypy_cache/
|
|
backend/uv.lock
|
|
|
|
# Frontend Node
|
|
frontend/node_modules/
|
|
frontend/.next/
|
|
frontend/out/
|
|
frontend/dist/
|
|
frontend/package-lock.json
|
|
frontend/next-env.d.ts
|
|
|
|
# Docker
|
|
postgres-data/
|
|
caddy-data/
|
|
caddy-config/
|
|
|
|
# Env (никогда не коммитим)
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
backend/.env
|
|
backend/.env.runtime
|
|
frontend/.env.local
|
|
|
|
# Public html mockup (исходник от gendsgn.ru — не наш код, держим в docs)
|
|
frontend/public/tradein.html
|
|
|
|
# Test PDF outputs
|
|
docs/sample-svg-test.pdf
|
|
docs/sample-vps-*.pdf
|
|
*.tmp.pdf
|
|
|
|
# IDE / OS
|
|
.vscode/
|
|
.idea/
|
|
.DS_Store
|
|
Thumbs.db
|
|
*.swp
|
|
|
|
# Logs
|
|
*.log
|