# IOTDOOR Spring Boot 마이그레이션 계획 ## 목표 - 레거시 `eGovFrame + Spring MVC` 구조를 `Spring Boot 3.x + Java 17` 기반으로 전환 - 기존 공개 사이트 디자인은 최대한 유지 - 관리자 영역은 운영성과 보안성을 우선으로 재설계 - 불필요한 레거시 자산과 연결되지 않은 화면은 점진적으로 제외 ## 현재 1차 이행 범위 - Spring Boot 3 / Java 17 신규 모듈 생성 - 공개 메인 페이지 이식 - 연락처 페이지 이식 - 포트폴리오 페이지를 정적/큐레이션 방식으로 재구성 - 관리자 로그인/로그아웃 이식 - 관리자 대시보드 신규 구성 - 문의 접수를 서버 검증 API 기반으로 교체 ## 이번 단계에서 의도적으로 보류한 범위 - 게시판 CRUD - 회원가입 및 사용자 상세 프로필 - 메시지/알림 - 설문 - 관리자 CMS 전체 - 운영 로그 및 통계 - Hypermeta 연동 - DB 기반 메뉴/권한 시스템 ## 설계 원칙 1. 레거시와 직접 충돌하지 않도록 신규 모듈 `iotdoor-boot/` 에서 시작한다. 2. URL은 가능한 한 기존 `.do` 패턴을 유지한다. 3. 화면은 기존 Thymeleaf 템플릿과 정적 리소스를 재사용한다. 4. 인증은 Spring Security 6 표준 구성으로 재작성한다. 5. 보안 취약점으로 보였던 항목은 기본값부터 개선한다. ## 우선순위 제안 ### 2차 - 공통 레이아웃/메뉴를 DB 비의존 구조로 정리 - 게시판 읽기 전용 목록/상세 먼저 이식 - 파일 업로드/다운로드 서비스 재구성 ### 3차 - 관리자 게시판/공지 관리 - 회원 조회 및 권한 관리 - 사이트 정보/배너/팝업 관리 ### 4차 - 메시지, 설문, 통계, 로그 이식 - MyBatis 매퍼 재정비 및 DB 스키마 문서화 - 외부 연동(Hypermeta) 재적용 ## 보안 개선 기준 - CSRF 기본 활성화 - BCrypt 비밀번호 사용 - 관리자 계정은 환경변수로 주입 - 클라이언트 직접 메일 발송 제거 - 운영 민감정보의 템플릿/JS 하드코딩 최소화