← 포트폴리오 목록

레거시 데이터 마이그레이션 & 다국어 콘텐츠 플랫폼

학술기관의 레거시 MySQL 게시판 데이터 1,000~2,000건을 안전하게 이관하기 위한 스캔·매핑·진행률·무결성 검증 콘솔을 구현하고, 다국어(국/영문) 콘텐츠 관리와 실패 건 재처리 큐까지 확장한 마이그레이션 플랫폼을 설계합니다.

이관 무결성 검증 리포트 엔진 구현건별 이관 성공/실패/보류 상태를 자동 판정하는 검증 규칙 6종 설계, 불일치 건은 원인별로 자동 분류
비동기 마이그레이션 큐 아키텍처 구축Bull Queue 기반 배치 이관 작업 5~7종 분리 처리, 실패 작업 자동 재시도 및 지연 백오프 정책 설계
다국어 콘텐츠 스키마 및 전환 로직 설계국/영문 콘텐츠를 언어 컬럼으로 분리하는 정규화 스키마 구현, 언어별 폴백 로직으로 미번역 페이지 처리
서비스 타입Web
업종교육 플랫폼
기술 스택
ReactTypeScriptTailwind CSSNode.jsExpressPostgreSQLPrismaRedisBull Queue
주요 기능
  • 레거시 DB 스캔·필드 매핑 마이그레이션 콘솔
  • 이관 진행률 및 무결성 검증 리포트
  • 다국어 콘텐츠 관리 확장
  • 이관 실패 건 재처리 및 감사 로그
Overview

프로젝트 개요

범위: 개발, 디자인, 기획

학술기관의 레거시 MySQL 게시판 데이터 1,000~2,000건을 안전하게 이관하기 위한 스캔·매핑·진행률·무결성 검증 콘솔을 구현하고, 다국어(국/영문) 콘텐츠 관리와 실패 건 재처리 큐까지 확장한 마이그레이션 플랫폼을 설계합니다.

작업 범위

  • 레거시 DB 스캔·필드 매핑 마이그레이션 콘솔: 레거시 MySQL 게시판을 스캔해 테이블·컬럼을 자동 인식하고 이관 진행 현황을 한 화면에서 모니터링합니다
  • 이관 진행률 및 무결성 검증 리포트: 이관된 게시글과 첨부파일이 원본과 일치하는지 건별로 검증하고 불일치 항목을 리포트로 제공합니다
  • 다국어 콘텐츠 관리 확장: 국문 콘텐츠를 기반으로 영문 간략 페이지를 함께 관리하고, 번역이 없는 페이지는 자동으로 국문으로 대체 표시합니다
  • 이관 실패 건 재처리 및 감사 로그: 이관에 실패한 건을 원인별로 모아 재처리하고, 모든 이관 작업의 처리 이력을 감사 로그로 조회합니다

주요 업무

  • 레거시 DB 스캔·필드 매핑 마이그레이션 콘솔 화면: 스캔 결과와 이관 진행률을 하나의 콘솔 화면에서 실시간에 가깝게 시각화합니다
  • 이관 진행률 및 무결성 검증 리포트 화면: 체크섬·메타정보 비교 규칙으로 이관 전후 데이터 일치 여부를 자동 판정합니다
  • 다국어 콘텐츠 관리 확장 화면: 언어 컬럼 기반 콘텐츠 스키마와 언어 전환 라우팅, 미번역 페이지 폴백 로직을 구현합니다
  • 이관 실패 건 재처리 및 감사 로그 화면: Bull Queue 재시도 정책과 작업별 감사 로그 테이블로 실패 처리 흐름을 관리합니다
레거시 데이터 마이그레이션 & 다국어 콘텐츠 플랫폼
요구사항 정의

프로젝트 핵심 과제

프로젝트 진행 시 해결한 핵심 기술 과제입니다.

대량 이관 작업 중 일부 건 실패 시 전체 트랜잭션을 롤백하지 않고 건별로 재처리하는 큐 설계

게시글 메타정보(작성일·조회수)와 첨부파일 참조가 이관 전후 정확히 일치하는지 자동 검증하는 무결성 규칙 설계

국문 우선 콘텐츠 구조에서 영문 페이지가 누락됐을 때 자동 폴백하는 다국어 라우팅 로직 설계

이관 진행률 대시보드가 수천 건 처리 중에도 실시간성을 유지하

캐싱·폴링 주기를 설계할 필요

구현 내용

핵심 기능 상세

핵심 기능 1

레거시 DB 스캔·필드 매핑 마이그레이션 콘솔

레거시 MySQL 게시판을 스캔해 테이블·컬럼을 자동 인식하고 이관 진행 현황을 한 화면에서 모니터링합니다. 스캔 결과와 이관 진행률을 하나의 콘솔 화면에서 실시간에 가깝게 시각화합니다.

  • MySQL 정보 스키마 조회로 테이블·컬럼·인덱스 자동 스캔 API 구현
  • Recharts 기반 이관 진행률 추이 차트 + 단계별(스캔/매핑/이관/검증) 상태 시각화
  • 폴링 기반 진행률 갱신으로 대량 배치 작업의 현재 상태를 화면에 반영

레거시 DB 스캔부터 이관 완료까지 전체 파이프라인 상태를 한 화면에서 추적할 수 있는 콘솔을 구현합니다

레거시 DB 스캔·필드 매핑 마이그레이션 콘솔
레거시 DB 스캔·필드 매핑 마이그레이션 콘솔 실제 화면
핵심 기능 2

이관 진행률 및 무결성 검증 리포트

이관된 게시글과 첨부파일이 원본과 일치하는지 건별로 검증하고 불일치 항목을 리포트로 제공합니다. 체크섬·메타정보 비교 규칙으로 이관 전후 데이터 일치 여부를 자동 판정합니다.

  • 게시글 본문 길이·첨부파일 개수·메타정보(작성일·조회수) 비교 검증 규칙 6종 구현
  • 불일치 건을 원인별(누락/형식오류/인코딩깨짐)로 자동 분류하는 리포트 테이블 구현
  • 검증 결과를 CSV로 내보내는 리포트 다운로드 기능 구현

이관 전후 데이터 일치 여부를 자동 판정하는 무결성 검증 리포트 엔진을 구현합니다

이관 진행률 및 무결성 검증 리포트
이관 진행률 및 무결성 검증 리포트 실제 화면
핵심 기능 3

다국어 콘텐츠 관리 확장

국문 콘텐츠를 기반으로 영문 간략 페이지를 함께 관리하고, 번역이 없는 페이지는 자동으로 국문으로 대체 표시합니다. 언어 컬럼 기반 콘텐츠 스키마와 언어 전환 라우팅, 미번역 페이지 폴백 로직을 구현합니다.

  • 콘텐츠 테이블에 언어 컬럼을 추가한 다국어 정규화 스키마 설계
  • 언어 전환 토글 + URL 세그먼트 기반 라우팅 구현
  • 영문 번역이 없는 페이지는 국문 콘텐츠로 자동 폴백하는 로직 구현

번역 누락 페이지를 자동 폴백 처리하는 다국어 콘텐츠 관리 구조를 구현합니다

다국어 콘텐츠 관리 확장
다국어 콘텐츠 관리 확장 실제 화면
핵심 기능 4

이관 실패 건 재처리 및 감사 로그

이관에 실패한 건을 원인별로 모아 재처리하고, 모든 이관 작업의 처리 이력을 감사 로그로 조회합니다. Bull Queue 재시도 정책과 작업별 감사 로그 테이블로 실패 처리 흐름을 관리합니다.

  • Bull Queue 기반 실패 작업 자동 재시도(지연 백오프 3단계) 정책 구현
  • 작업 단위(스캔/매핑/이관/검증) 감사 로그 테이블 설계 및 필터 조회 UI 구현
  • Redis에 이관 진행 상태를 캐싱해 대시보드 조회 응답 구조 최적화

실패한 이관 작업을 자동 재시도하고 전체 처리 이력을 추적할 수 있는 감사 로그 체계를 구현합니다

이관 실패 건 재처리 및 감사 로그
이관 실패 건 재처리 및 감사 로그 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

마이그레이션 콘솔 아키텍처 및 큐 설계 · 2026.09

Bull Queue 기반 비동기 이관 작업 아키텍처 설계, 레거시 DB 스캔 API 및 필드 매핑 스키마 정의

STEP 2

이관 진행률·무결성 검증 대시보드 개발 · 2026.09

React 기반 진행률 시각화, Recharts 도넛/바 차트 적용, 건별 검증 리포트 테이블 구현

STEP 3

다국어 콘텐츠 관리 확장 · 2026.09

국/영문 콘텐츠 분리 스키마 설계, 언어별 페이지 전환 및 관리자 다국어 입력 폼 구현

STEP 4

실패 재처리·감사 로그 및 캐싱 최적화 · 2026.09

Redis 캐시로 진행 상태 조회 응답 구조 개선, 실패 건 자동 재처리 큐 및 감사 로그 테이블 구현

프로젝트 성과

주요 성과

이관 무결성 검증 리포트 엔진 구현건별 이관 성공/실패/보류 상태를 자동 판정하는 검증 규칙 6종 설계, 불일치 건은 원인별로 자동 분류
비동기 마이그레이션 큐 아키텍처 구축Bull Queue 기반 배치 이관 작업 5~7종 분리 처리, 실패 작업 자동 재시도 및 지연 백오프 정책 설계
다국어 콘텐츠 스키마 및 전환 로직 설계국/영문 콘텐츠를 언어 컬럼으로 분리하는 정규화 스키마 구현, 언어별 폴백 로직으로 미번역 페이지 처리
이관 진행률 캐싱 응답 구조 구현Redis에 이관 진행 상태를 캐싱하는 대시보드 조회 API 응답 구조 설계, 폴링 주기별 갱신 로직 구현
Highlights

기술적 주안점

  • 레거시 DB 스캔부터 이관 완료까지 전체 파이프라인 상태를 한 화면에서 추적할 수 있는 콘솔을 구현합니다
  • 이관 전후 데이터 일치 여부를 자동 판정하는 무결성 검증 리포트 엔진을 구현합니다
  • 번역 누락 페이지를 자동 폴백 처리하는 다국어 콘텐츠 관리 구조를 구현합니다

유사한 프로젝트를 기획하고 계신가요?

FIRSTPIP이 개발 범위와 로드맵을 함께 정리해드립니다

무료 상담 시작하기