출판 도서·자료 통합 관리자 콘솔
이용자 페이지 이후 단계로 작가·카테고리 N:M 매핑, 자료 노출 고정과 순서 제어, 게시판 유형 관리, 301 리다이렉트 검증 대시보드를 한 콘솔에 통합하는 확장 프로젝트입니다.
프로젝트 개요
이용자 페이지 이후 단계로 작가·카테고리 N:M 매핑, 자료 노출 고정과 순서 제어, 게시판 유형 관리, 301 리다이렉트 검증 대시보드를 한 콘솔에 통합하는 확장 프로젝트입니다. P1과 같은 Java Spring Boot 기반에 Redis 캐시를 더해 관리 기능을 설계합니다.
작업 범위
- 작가·카테고리 매핑 관리: 좌측 도서 목록에서 도서를 고르면 우측 상세 패널에서 작가와 카테고리를 여러 개 연결하거나 해제하는 화면입니다
- 자료 매핑·노출 제어: 자료를 여러 도서와 연결하고 메인·자료실 노출을 자동 최신순과 수동 상단 고정으로 조절하는 화면입니다
- 게시판 유형 관리: 일반형, 갤러리형, 파일 다운로드 전용형 중 게시판 유형을 선택해 새 게시판을 만들고 기능을 설정하는 화면입니다
- 301 리다이렉트 검증 대시보드: 기존 주소별 이동 대상과 검증 결과를 한 표에서 확인하고 실패 항목을 재검증하는 화면입니다
주요 업무
- 작가·카테고리 매핑 관리 화면: 작가 마스터와 카테고리를 도서에 N:M으로 연결하고, 하나의 작가를 여러 도서에 일괄 배정하는 작업을 같은 패널에서 처리합니다
- 자료 매핑·노출 제어 화면: 자료별 노출 영역과 고정 여부, 고정 순번을 저장하고 고정 항목을 먼저 정렬한 뒤 나머지를 최신순으로 이어 붙여 노출 목록을 만듭니다
- 게시판 유형 관리 화면: 게시판 유형별 설정 스키마를 두고 유형에 따라 목록 레이아웃과 첨부 허용 여부, 댓글 사용 여부를 동적으로 구성합니다
- 301 리다이렉트 검증 대시보드 화면: URL 매핑 목록을 대상으로 요청을 보내 응답 코드와 최종 도착 주소를 기록하고, 기대 주소와 다른 항목을 실패로 분류합니다




프로젝트 핵심 과제
작가 마스터에 표기 차이로 중복 등록된 인물을 오병합 없이 합치는 후보 탐지와 승인 흐름 설계
수동 고정 순서와 자동 최신순이 섞인 목록에서 고정 해제나 순서 변경 시 순번 충돌을 막는 갱신 규칙 설계
게시판 유형을 바꿀 때 기존 게시글과 첨부 데이터의 호환 여부를 사전에 판정하는 검증 로직 설계
구 도메인별로 응답 방식이 다른 리다이렉트 체인을 일관되게 검증하고 실패 원인을 분류하는 기준 설계
핵심 기능 상세
작가·카테고리 매핑 관리
좌측 도서 목록에서 도서를 고르면 우측 상세 패널에서 작가와 카테고리를 여러 개 연결하거나 해제하는 화면입니다.
- 도서-작가, 도서-카테고리 매핑 테이블과 복합 키 기반 JPA 엔티티 설계
- 다중 선택 일괄 배정을 하나의 트랜잭션으로 묶어 부분 반영을 방지하는 서비스 로직 구현
- 작가 마스터 중복 후보를 이름·생년 기준으로 탐지하는 병합 제안 기능 구성
도서와 작가·카테고리의 다대다 관계를 한 패널에서 편집하고, 일괄 배정은 트랜잭션 단위로 반영하도록 설계합니다.


자료 매핑·노출 제어
자료를 여러 도서와 연결하고 메인·자료실 노출을 자동 최신순과 수동 상단 고정으로 조절하는 화면입니다.
- 고정 순번 컬럼과 등록일 정렬을 결합한 노출 목록 쿼리 설계
- 드래그 순서 변경 요청을 일괄 갱신 API로 전달하는 React 목록 컴포넌트 구성
- 노출 목록 조회 결과를 Redis에 캐시하고 변경 시 키를 무효화하는 구조 구현
수동 고정과 자동 최신순을 하나의 정렬 규칙으로 합치고, 변경 시 캐시를 무효화하는 노출 제어 구조를 구현합니다.


게시판 유형 관리
일반형, 갤러리형, 파일 다운로드 전용형 중 게시판 유형을 선택해 새 게시판을 만들고 기능을 설정하는 화면입니다.
- 게시판 유형 설정을 JSON 컬럼으로 저장하고 유형별 검증 규칙을 분리한 설계
- Thymeleaf 프래그먼트 교체 방식으로 일반형·갤러리형·파일 전용형 목록 화면 전환
- 유형 변경 시 기존 게시글 호환 여부를 점검하는 사전 검증 로직 구현
게시판 유형별 설정 스키마로 목록 레이아웃과 기능 옵션을 동적으로 구성하는 구조를 설계하며, 유형 변경 전 호환성 점검을 포함합니다.


301 리다이렉트 검증 대시보드
기존 주소별 이동 대상과 검증 결과를 한 표에서 확인하고 실패 항목을 재검증하는 화면입니다.
- 매핑 목록을 순회하며 HEAD 요청 후 301 Location 값을 비교하는 검증 배치 구현
- 응답 코드·도착 주소·소요 시간 이력을 테이블에 저장하고 상태 배지로 표시
- 실패 항목만 골라 재검증하는 큐와 도메인별 필터 구성
구 주소 전수를 대상으로 301 응답과 도착 주소를 자동 비교하고 실패 항목만 재검증하는 대시보드 구조를 구현합니다.


프로젝트 진행 단계
관리 도메인 모델링 및 매핑 API 설계 · 2026.10
작가·카테고리·자료·게시판 유형의 N:M ERD를 확정하고 일괄 배정 API와 병합 제안 로직을 구현합니다
자료 노출 제어와 Redis 캐시 구성 · 2026.10
고정 순번·최신순 결합 정렬과 노출 목록 캐시 무효화 구조를 구현합니다
게시판 유형 엔진 및 관리 화면 개발 · 2026.10
유형별 설정 스키마와 Thymeleaf·React 혼합 관리 화면을 구현합니다
301 검증 배치와 대시보드 마감 · 2026.10
URL 매핑 전수 검증 배치와 결과 대시보드, 재검증 큐를 구현합니다
개발 결과
기술적 주안점
- 도서와 작가·카테고리의 다대다 관계를 한 패널에서 편집하고, 일괄 배정은 트랜잭션 단위로 반영하도록 설계합니다
- 수동 고정과 자동 최신순을 하나의 정렬 규칙으로 합치고, 변경 시 캐시를 무효화하는 노출 제어 구조를 구현합니다
- 게시판 유형별 설정 스키마로 목록 레이아웃과 기능 옵션을 동적으로 구성하는 구조를 설계하며, 유형 변경 전 호환성 점검을 포함합니다