{ "solution": "zioinfo-esn", "doc_type": "개발계획서", "out": "C:/GUARDiA/workspace/zioinfo-esn/doc/zioinfo-esn_개발계획서_v2.pptx", "subtitle": "ESL 통합관리 플랫폼 + UIMS 업무협업 통합 / 지오정보기술 / 2026", "design": {"primary":"1F3A5F","accent":"2E86C1","text":"222222","font_ko":"맑은 고딕"}, "sections": [ {"title":"1. 개요 / 배경", "bullets":[ "레거시 ESN 6개 프로젝트(ESN_WEB_ZIOINFO·ESN_WEB_LGInnotek·ESN_DAEMON_EMART 등)를 단일 플랫폼으로 현대화 통합", "전자가격표(ESL)·전자선반 통합 관리: 매장·템플릿·기기 바인딩·가격 갱신·펌웨어·HCore 게이트웨이 관제", "멀티테넌트 구조(LGInnotek / LGIT / Emart / ZIOINFO)로 다수 고객사 동시 운영", "2026-06-21 UIMS(URP 업무협업) 전체 이식: 업무일지·일정·쪽지·통계 + 시스템관리(RBAC) + 2차 인증(2FA) 추가" ]}, {"title":"2. 목표", "bullets":[ "Spring Boot 1.5/Java 8 레거시 → Spring Boot 3.5 / Java 17 / React 19 단일 JAR 현대화", "ESL 운영 전 과정(상품→가격→템플릿→기기 바인딩→갱신 큐→펌웨어) 통합 관제", "Ollama 온프레미스 AI로 알람 원인 분석 · POS 데이터 자동 분류 (외부 API 미사용)", "UIMS 공통 업무협업 레이어로 운영팀 업무일지·일정·쪽지·업무통계 일원화", "JWT + 2FA(이메일 인증코드) 보안 인증 및 권한관리(RBAC) 체계 확립" ]}, {"type":"table", "title":"3. 범위 — 모듈 구성", "headers":["영역","모듈","비고"], "rows":[ ["ESL 코어","테넌트 / 매장그룹 / 매장","멀티테넌트 4사"], ["ESL 코어","상품 / 가격 / 템플릿","ESL 화면 템플릿"], ["ESL 코어","태그 바인딩 / 갱신 큐","ESL 기기 ↔ 상품"], ["ESL 코어","알람 / HCore / 펌웨어","게이트웨이/허브 관제"], ["ESL 코어","POS 변환 / 작업이력 / 대시보드","POS 데이터 분류"], ["AI","Ollama 알람분석 / POS 자동분류","폴백 내장"], ["UIMS (신규)","업무일지 / 일정 / 쪽지 / 통계","공통 업무협업"], ["UIMS (신규)","시스템관리(역할·메뉴·코드·부서·거래처)","RBAC"], ["인증 (신규)","로그인 2FA / 회원가입·아이디찾기·비번초기화","보안 강화"] ]}, {"type":"table", "title":"4. 기술 스택", "headers":["레이어","기술"], "rows":[ ["Backend","Spring Boot 3.5.0 / Java 17 / Maven (finalName esn-1.0.0)"], ["ORM / DB","MyBatis + PostgreSQL (esn_db)"], ["Frontend","React 19 + Vite + TypeScript + Tailwind"], ["AI","Ollama 온프레미스 (llama3.2:1b 텍스트)"], ["인증","JWT + 2FA(이메일 인증코드)"], ["배포","단일 JAR (frontend → backend static 번들), 백엔드 포트 8015"] ]}, {"title":"5. 아키텍처 개요", "bullets":[ "단일 JAR: React 빌드 산출물을 backend static에 번들 → 8015 단일 서비스", "MyBatis @MapperScan(annotationClass=Mapper.class) · 매퍼 classpath:mapper/**/*.xml", "스키마 멱등 부팅 적용: schema.sql → 90_uiws_system.sql → 91_uiws_port.sql (mode:always, continue-on-error)", "UIMS 테이블은 전부 tb_uiws_* 프리픽스 → 기존 esn_*(ESL) 충돌 0", "Ollama·ITSM(9001) 연계는 폴백 내장으로 미가용 시에도 핵심 기능 동작" ], "note":"상세 구성도는 설계서 참조"}, {"type":"table", "title":"6. 일정 (WBS 요약)", "headers":["단계","주요 산출","상태"], "rows":[ ["Phase 1","레거시 6개 분석 · 도메인 정의","완료"], ["Phase 2","ESL 코어(백엔드 12도메인·프론트 13페이지)","완료"], ["Phase 3","단일 JAR · CI/CD 자동배포","완료"], ["Phase 4","UIMS 업무모듈 + 시스템관리 + 2FA 이식","완료(2026-06-21)"], ["Phase 5","라이브 배포·통합 검증","진행"] ]}, {"type":"table", "title":"7. 역할 분담", "headers":["역할","담당 범위"], "rows":[ ["오케스트레이터","하네스 조율 · 산출물 관리"], ["백엔드","Spring Boot 도메인/매퍼/API"], ["프론트엔드","React 화면 · 테마 토큰"], ["DB","스키마 멱등화 · 마이그레이션"], ["DevOps","단일 JAR · Gitea webhook · 배포"], ["QA","경계면 정합 · 회귀 · 보안 검증"] ]}, {"title":"8. 기대효과", "bullets":[ "레거시 6종 분산 운영 → 단일 현대화 플랫폼으로 운영비·유지보수 부담 절감", "멀티테넌트로 고객사별 ESL 운영을 단일 콘솔에서 통합 관제", "Ollama 온프레미스 AI로 알람 분석·POS 분류 자동화(외부 의존 0)", "UIMS 통합으로 ESL 운영 업무와 업무협업(일지·일정·쪽지·통계)을 한 시스템에서 처리", "2FA·RBAC 도입으로 공공/기업 고객 보안 요구 충족" ]} ] }