- 스택 확정: PLANNING v1.2 §8(FastAPI/Next.js→Spring Boot+MyBatis/React), CLAUDE.md 기술스택 섹션 - 구현 에이전트 5종: kintex-backend-dev·frontend-dev·db-engineer·qa·devops-dev - kintex-impl-orchestrator 스킬 + docs/IMPLEMENTATION_BACKLOG.md(Phase0~5) - designer에 Stitch 학습·정합 트랙, developer 스택 갱신 - Stitch export 텍스트 참조(code.html·DESIGN.md 3종·proposal.md) 추가, 스크린샷 PNG는 gitignore Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8.1 KiB
8.1 KiB
킨텍스 AI 전시관리 시스템 — 구현 백로그
작성: 2026-07-11 · 근거:
docs/PLANNING.mdv1.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 경유(직접 수정 금지).