- admin 페이지: contracts, stores, subsidies, vendors 실제 DB 조회
- ActionButtons 컴포넌트 분리 (클라이언트 컴포넌트)
- 사용자 페이지: contracts, matching, stores, subsidies, vendors DB 연동
- vendor 신청 폼 및 server actions 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Traefik file provider로 호스트 webhook(9000) 프록시
- /deploy 경로로 Gitea webhook 수신
- extra_hosts로 Linux host.docker.internal 지원
- 불필요한 Docker webhook 서비스 제거
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Docker 라벨 기반 자동 라우팅으로 전환
- /admin/* → admin 서비스 (StripPrefix 미들웨어)
- /* → web 서비스 (catch-all)
- Let's Encrypt 설정 준비 (도메인 확보 시 활성화)
- 다른 서비스 추가 시 라벨만 붙이면 자동 등록
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Dockerfile: prisma generate 명령어를 npx prisma generate로 수정
- feature-flag.ts: map 콜백 파라미터에 명시적 타입 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 모노레포 구조 (Turborepo + pnpm): @relink/domain, @relink/shared, @relink/infrastructure, @relink/database, @relink/web
- 도메인 레이어: 매장(store), 매칭(matching), 업체(vendor), 보조금(subsidy), 계약/에스크로(contract) TDD 완료 (158 단위 테스트)
- 서비스 레이어: 전 도메인 서비스 함수 + 통합 테스트 (58 테스트)
- 프론트엔드: Next.js 15 App Router, 13개 페이지 (사용자 6 + 관리자 7)
- 인프라: PostgreSQL 16 + PostGIS, Prisma ORM, Docker Compose, AuditLog + OutboxEvent 패턴
- .env 파일 포함 (로컬 개발 기본값만 포함, 실제 시크릿 없음)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>