# 킨텍스 AI 전시관리 시스템 — 구현 백로그 > 작성: 2026-07-11 · 근거: `docs/PLANNING.md` v1.2(M1~M9)·`docs/design.md`(SCR-01~M2)·`docs/analysis/reroomai-source.md`·Stitch 산출물(`stitch_kintex_ai_system_architect/`) > 실행: `kintex-impl-orchestrator` 스킬(에이전트 팀). 담당 에이전트 약칭 — BE=kintex-backend-dev, FE=kintex-frontend-dev, DB=kintex-db-engineer, VIZ=visualizer(나노바나나 워커), QA=kintex-qa, DES=designer, OPS=kintex-devops-dev. > 스택: React(Vite·TS) + Spring Boot 3.x(Java17)+MyBatis + PostgreSQL(PostGIS) + Redis + 나노바나나 Python 워커. ## 선행 게이트 (착수 전 소유자 확인) - **G1 나노바나나(Gemini) 외부 호출 승인**(PLANNING R12) — 미승인 시 M5는 코드/구조만, 실호출·배포 보류. - **G2 배포 대상 서버·포트** — kintex는 GUARDiA 관제 인프라와 별개 도메인. 서버 재사용/포트/도메인 확정 필요(Phase 5 전). ## Phase 0 — 프로젝트 스캐폴딩 (P0 선행) | ID | 작업 | 담당 | 의존 | 완료 기준 | |---|---|---|---|---| | S-1 | `src/backend` Spring Boot 3.x(Java17)+MyBatis+PostGIS 스캐폴드, `com.zioinfo.kintex` | BE | — | `./gradlew compileJava` 통과 | | S-2 | `src/frontend` React 18/19+Vite+TS 스캐폴드 + design.md 토큰(팔레트·타이포) CSS 변수화 | FE | 설계정합 | `npm run build` 통과 | | S-3 | `kintex_db`(PostGIS) 마이그레이션 도구(Flyway) + 공통 엔티티 DDL v1 | DB | — | 마이그레이션 적용·롤백 검증 | | S-4 | 나노바나나 워커 서비스 골격(Redis 큐 소비 루프, `tools/nanobanana` 재사용) | VIZ | — | `py_compile` + 큐 소비 스텁 기동 | ## Phase 1 — 설계 정합 | ID | 작업 | 담당 | 의존 | 완료 기준 | |---|---|---|---|---| | D-1 | Stitch 산출물 학습 → design.md 디자인 시스템 단일 출처 수렴 + SCR 매핑표 + 범위 게이트 | DES | — | design.md 갱신·매핑표·P2 표기 | | D-2 | PostGIS 스키마 v1(Event/Hall/Booth polygon/DesignPlan/UtilityOrder LineString/RenderJob/Document/Company/Payment) + 마스터 시드(홀·요율·규정 룰셋) | DB | S-3 | `_workspace/01_db_schema.md` + 시드 멱등 | | D-3 | P0 API 계약 초안(OpenAPI 수준) | BE | D-2 | `_workspace/01_backend_contracts.md` | | D-4 | 정합 교차 검증(기획-디자인-스키마-계약) | reviewer | D-1..D-3 | 불일치 0 또는 티켓화 | ## Phase 2 — P0 구현 (핵심) ### M2 플로어플랜 스튜디오 (부스 배치 자동화) | ID | 작업 | 담당 | 의존 | 완료 기준 | |---|---|---|---|---| | M2-1 | Booth polygon·Hall·Trench 스키마·매퍼(ST_Area/ST_Buffer/ST_Intersects) | DB | D-2 | 공간 쿼리 단위 검증 | | M2-2 | 배치 저장·조회 API + 규정 검증(통로 폭·바닥하중·비상구·복층) PostGIS 서비스 | BE | M2-1 | 위반 플래그(차단/경고) 응답 | | M2-3 | 배치 자동생성(제약 솔버/휴리스틱) — 복수 배치안 | BE | M2-2 | 조건 입력→복수 안 | | M2-4 | SCR-03 부스 배치 에디터(캔버스 다크서피스·드래그·트렌치·위반 오버레이) — Stitch `booth_layout_editor` 이식 | FE | M2-2 | 드래그·위반핀↔목록 동기 | | M2-5 | SCR-04 배치안 비교(S7 조감 카드) — Stitch `layout_comparison` 이식 | FE | M2-3, M5-1 | 지표 비교·선택 | | M2-6 | 점진 QA(경계면·공간 로직·규정 룰셋 정합) | QA | M2-* | 통과까지 반려 | ### M3 부스 설계 스튜디오 | ID | 작업 | 담당 | 의존 | 완료 기준 | |---|---|---|---|---| | M3-1 | 부스 설계(조립 옵션/독립 초안)·규정 사전검증(높이5m·리깅D-7·방염·복층) API | BE | D-2 | 위반 사전 플래깅 | | M3-2 | SCR-06 설계 스튜디오(스펙 폼·4샷 그리드·Before/After) — Stitch `booth_design_studio` 이식 | FE | M3-1, M5-1 | 컨펌 흐름·"시공기준=도면" 동의 | | M3-3 | SCR-09 규정 검증 리포트 — Stitch `compliance_report` 이식 | FE | M3-1 | 차단 시 제출 비활성·면책·룰셋 버전 | | M3-4 | 점진 QA | QA | M3-* | 통과 | ### M4 유틸리티 설계 (전기·조명 / 네트워크·급배수) | ID | 작업 | 담당 | 의존 | 완료 기준 | |---|---|---|---|---| | M4-1 | Wiring LineString 스키마·최단 배선(ST_Distance/트렌치 라우팅) 매퍼 | DB | D-2 | 최단 경로 쿼리 | | M4-2 | 전기 용량·분전반 산출 + 네트워크/급배수 배선 + 자동 견적 API | BE | M4-1 | kW 합산·요금 정합 | | M4-3 | 위치표시도 자동 생성(수기 작도 대체 서식) | BE | M4-2 | PDF/이미지 산출 | | M4-4 | SCR-07 배선 뷰(트렌치 오버레이·견적 패널) — Stitch `utility_wiring_view` 이식 | FE | M4-2 | 단말 드래그→경로 재계산 | | M4-5 | SCR-08 신청 요약·위치표시도 — Stitch `utility_order_summary` 이식 | FE | M4-3 | 마감(D-25) 고지·제출 | | M4-6 | 점진 QA(견적 산술·"현장 추가불가" 고지·좌표 정합) | QA | M4-* | 통과 | ### M5 나노바나나 시각화 (★G1 게이트) | ID | 작업 | 담당 | 의존 | 완료 기준 | |---|---|---|---|---| | M5-1 | RenderJob 발행/상태 API + Redis 큐 + WebSocket 완료 푸시 | BE | D-2 | 큐잉·상태 전이 | | M5-2 | 나노바나나 워커: PLANNING §6-2 scene→build_booth_prompt→생성, 메타데이터 임베드·워터마크·스키마 해시 캐시(`tools/nanobanana` 재사용) | VIZ | M5-1, S-4 | (G1 승인 시) 실 생성 / 미승인 시 목·폴백 | | M5-3 | S6 배선 오버레이 래스터 합성(생성형 아님, PIL 좌표 정합) | VIZ | M4-1, M5-2 | 도면 위 적/청/녹 오버레이 | | M5-4 | SCR-12 시각화 갤러리(S1~S7·Before/After·워터마크 상시) — Stitch `visualization_gallery` 이식 | FE | M5-1 | 온디맨드 생성·재시도·고지바 | | M5-5 | 점진 QA(워터마크 강제·서류 배제·캐시·쿼터) | QA | M5-* | 통과 | ### 공통 화면 (P0 대시보드·인증) | ID | 작업 | 담당 | 의존 | 완료 기준 | |---|---|---|---|---| | C-1 | 인증(행사 단위 RBAC+JWT) API + SCR-01 로그인/워크스페이스 — Stitch `login_workspace_selection` 이식 | BE, FE | S-1,S-2 | 미등록 장치업체 초대 차단 | | C-2 | SCR-02 주최자 대시보드(마일스톤 타임라인·KPI) — Stitch `organizer_dashboard` 이식 | FE | C-1 | D-데이·KPI 렌더 | | C-3 | SCR-05 참가업체 부스 홈 — Stitch `exhibitor_home` 이식 | FE | C-1 | 진행 스테퍼·마감 리마인더 | | C-4 | SCR-10 홀매니저 승인 큐 / SCR-11 검수 상세 — Stitch `manager_approval_queue`·`review_details` 이식 | FE | M2-2,M3-1 | AI 사전심사 플래그·일괄승인 | | C-5 | SCR-M1 현장 체크리스트 / SCR-M2 현장 검수(모바일) — Stitch `contractor_on_site_checklist`·`manager_field_inspection` 이식 | FE | C-1 | 오프라인·48px 터치 | ## Phase 3 — P1 | ID | 작업 | 담당 | 완료 기준 | |---|---|---|---| | P1-M1 | 홀 배정·자동 견적(요율 룰 엔진: 성수기·전시장 할증·예치금) | BE, FE, DB | 즉시 견적·배정신청서 생성 | | P1-M6 | 마일스톤(D-150/30/25/7)·서식 자동생성·AI 서류 검수 | BE, FE | 마일스톤 역산·검수 리포트 | | P1-M7 | 등록업체(739) 매칭·RFQ — 미등록 시공 차단 | BE, FE, DB | 추천·견적요청 | | P1-M9 | 정산·결제(납부 스케줄·PG·예치금 정산) | BE, FE | 스케줄 알림·PG 연동 | ## Phase 4 — P2 | ID | 작업 | 담당 | 비고 | |---|---|---|---| | P2-M8 | 반입/반출 물류 슬롯·QR 통행증 | BE, FE | 운영팀 협업 전제 | | P2-X | Stitch 범위밖 화면(BI·hall ops·exhibition schedule·admin) | DES→planner | 기획 반영 후에만 P 승격 | ## Phase 5 — 빌드·배포 (G2 게이트) | ID | 작업 | 담당 | 완료 기준 | |---|---|---|---| | DEP-1 | Spring jar + React 번들(+워커 서비스) 빌드 파이프라인 | OPS | 로컬/서버 빌드 통과 | | DEP-2 | Gitea `zio/kintex` CI/CD·webhook·systemd·env(GEMINI_API_KEY 서버 env) | OPS | (G2 확정 후) push→배포 | ## 진행 규칙 - **각 모듈 완성 직후 QA 점진 검증**(전체 완성 후 1회 아님). 보안 불변(자격증명·스택트레이스 미노출·AI 워터마크 강제)은 반려 사유. - 기획 변경은 planner, 디자인 변경은 designer 경유(직접 수정 금지).