초기 업로드

This commit is contained in:
CSKIM
2026-04-17 13:35:40 +09:00
commit e547089f66
265 changed files with 86707 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
# 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 하드코딩 최소화