← 포트폴리오 목록

출판사 통합 운영 관제 플랫폼

MVP 자동화 흐름 위에 출판사별 판매·다운로드 통계 대시보드, 수집·등록 오류 재처리 칸반, 스케줄링 관리, 환불 처리 워크플로우를 통합하는 운영 확장 데모를 React + Node.js 기반으로 설계·구현합니다.

프로젝트 납품 요약

아래 프로젝트 개요와 핵심 기능에서 구현 화면을 확인할 수 있습니다.

서비스 타입Web
업종데이터 분석
기술 스택
ReactTypeScriptNode.jsExpressPostgreSQLPrismaRedisBull QueueRecharts
주요 기능
  • 출판사별 판매·다운로드 통합 대시보드
  • 수집·등록 오류 재처리 보드
  • 수집 스케줄링 및 크론 관리
  • 환불 처리 및 다운로드 권한 회수 관리

프로젝트 개요

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

MVP 자동화 흐름 위에 출판사별 판매·다운로드 통계 대시보드, 수집·등록 오류 재처리 칸반, 스케줄링 관리, 환불 처리 워크플로우를 통합하는 운영 확장 데모를 React + Node.js 기반으로 설계·구현합니다.

작업 범위

  • 출판사별 판매·다운로드 통합 대시보드: 4개 출판사의 상품 등록 현황, 판매 건수, 다운로드 발급·실패 건수를 한 화면에서 비교할 수 있는 통합 대시보드입니다
  • 수집·등록 오류 재처리 보드: 카탈로그 수집 실패, 카페24 등록 실패 건을 칸반 보드로 관리하며 담당자가 상태를 전환하고 우선순위를 지정합니다
  • 수집 스케줄링 및 크론 관리: 출판사별 수집 주기, 실행 이력, 다음 실행 예정 시각을 관리하고 수동 즉시 실행을 트리거합니다
  • 환불 처리 및 다운로드 권한 회수 관리: 환불 요청 접수부터 승인, 다운로드 권한 회수까지의 처리 현황을 관리하는 화면입니다

주요 업무

  • 출판사별 판매·다운로드 통합 대시보드 화면: 기존 관리자페이지 DB 구조를 확장해 신규 출판사 지표를 편입하고, 출판사별 집계와 기간별 추이를 함께 보여주는 분석 화면을 구현합니다
  • 수집·등록 오류 재처리 보드 화면: 칸반 컬럼(신규실패/재처리대기/재처리중/해결완료)과 영향도×긴급도 우선순위 매트릭스를 구현합니다
  • 수집 스케줄링 및 크론 관리 화면: 크론 표현식 편집, 실행 이력 타임라인, 담당자 알림 채널 설정을 구현합니다
  • 환불 처리 및 다운로드 권한 회수 관리 화면: 환불 요청 목록, 승인 워크플로우, 권한 회수 이력 조회를 구현합니다
출판사 통합 운영 관제 플랫폼
요구사항 정의

프로젝트 핵심 과제

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

출판사 4곳의 이질적인 원본 데이터를 하나의 집계 스키마로 묶으면서 기존 관리자페이지 리포트와 하위호환을 유지하는 설계

실패 이벤트가 몰릴 때 칸반 보드 카드 수가 급증하지 않

동일 원인 실패를 그룹핑하는 로직 설계 필요

환불 승인

결제 환불 API 호출, 권한 회수 3단계가 부분 실패했을 때 재시도 가능한 보상 트랜잭션 설계 필요

출판사별 독립 크론 스케줄이 동시에 몰릴 때 API Rate Limit을 넘지 않

스케줄 간 지연을 조정하는 로직 필요

구현 내용

핵심 기능 상세

핵심 기능 1

출판사별 판매·다운로드 통합 대시보드

4개 출판사의 상품 등록 현황, 판매 건수, 다운로드 발급·실패 건수를 한 화면에서 비교할 수 있는 통합 대시보드입니다.

  • PostgreSQL Materialized View로 출판사별 일·주·월 판매·다운로드 집계를 사전 계산해 조회 부하 분리
  • Recharts 기반 다중 시리즈 차트로 출판사 4곳의 추이를 한 화면에서 비교 가능하도록 구현
  • 기존 관리자페이지 DB 스키마를 확장하는 방식으로 신규 출판사 데이터를 통합 적재

기존 관리자페이지 구조를 유지한 채 신규 출판사 4곳의 지표를 동일한 테이블 체계로 편입시키는 확장 스키마를 설계합니다.

출판사별 판매·다운로드 통합 대시보드
출판사별 판매·다운로드 통합 대시보드 실제 화면
핵심 기능 2

수집·등록 오류 재처리 보드

카탈로그 수집 실패, 카페24 등록 실패 건을 칸반 보드로 관리하며 담당자가 상태를 전환하고 우선순위를 지정합니다. 칸반 컬럼(신규실패/재처리대기/재처리중/해결완료)과 영향도×긴급도 우선순위 매트릭스를 구현합니다.

  • 실패 이벤트를 칸반 카드로 변환하는 이벤트→보드 매핑 계층 구현, 드래그 시 상태 전이 API 호출
  • 영향도(등록 실패 상품 수)×긴급도(재시도 경과 시간)로 카드를 자동 정렬하는 우선순위 매트릭스 구현
  • 카드별 실패 로그·재시도 이력을 타임라인으로 인라인 표시하는 상세 패널 구현

실패 이벤트를 자동으로 칸반 카드화하여, 운영자가 큐 로그를 직접 조회하지 않고도 실패 처리 현황을 시각적으로 파악할 수 있는 구조를 구현합니다.

수집·등록 오류 재처리 보드
수집·등록 오류 재처리 보드 실제 화면
핵심 기능 3

수집 스케줄링 및 크론 관리

출판사별 수집 주기, 실행 이력, 다음 실행 예정 시각을 관리하고 수동 즉시 실행을 트리거합니다. 크론 표현식 편집, 실행 이력 타임라인, 담당자 알림 채널 설정을 구현합니다.

  • 출판사별 개별 크론 표현식을 저장·검증하는 스케줄 설정 UI 및 파서 구현
  • Bull Queue 스케줄러의 실행 이력을 타임라인 컴포넌트로 시각화
  • 실행 실패 시 담당자 알림 채널(이메일·웹훅)을 선택적으로 연결하는 설정 화면 구현

출판사별 독립 스케줄을 하나의 관리 화면에서 개별 제어할 수 있도록 큐 스케줄러의 반복 작업 등록을 UI화합니다.

수집 스케줄링 및 크론 관리
수집 스케줄링 및 크론 관리 실제 화면
핵심 기능 4

환불 처리 및 다운로드 권한 회수 관리

환불 요청 접수부터 승인, 다운로드 권한 회수까지의 처리 현황을 관리하는 화면입니다. 환불 요청 목록, 승인 워크플로우, 권한 회수 이력 조회를 구현합니다.

  • 환불 요청 접수→검토→승인/반려→권한회수 4단계 워크플로우를 상태 테이블로 설계
  • 승인 처리 시 결제 환불 API 호출과 다운로드 권한 회수를 하나의 트랜잭션으로 묶어 부분 실패 방지
  • 권한 회수 이력을 별도 감사 로그 테이블에 적재해 조회·필터링 가능하도록 구현

환불 승인과 권한 회수를 원자적 트랜잭션으로 묶어, 환불은 처리됐는데 다운로드 권한이 남아있는 정합성 오류를 방지하는 구조를 구현합니다.

환불 처리 및 다운로드 권한 회수 관리
환불 처리 및 다운로드 권한 회수 관리 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

기존 관리자페이지 스키마 분석 및 확장 설계 · 2026.09

레거시 관리자 DB 구조 분석, 신규 출판사 4곳 데이터를 편입하는 확장 스키마 및 Materialized View 설계

STEP 2

통합 대시보드 및 집계 파이프라인 개발 · 2026.09

출판사별 판매·다운로드 집계 API 26~30개 구현, Recharts 기반 비교 시각화 화면 개발

STEP 3

오류 재처리 칸반 및 환불·권한회수 개발 · 2026.09

실패 이벤트 칸반 매핑·크론 스케줄 관리 UI와 환불 승인-권한회수 원자적 트랜잭션, 감사 로그 테이블 구현

STEP 4

통합 테스트 및 운영 대시보드 마감 · 2026.09

전체 확장 기능 통합 테스트, 반응형 UI 점검, 크로스 브라우저 검증

개발 결과

출판사 통합 집계 파이프라인 설계Materialized View 4개로 출판사별 판매·다운로드 지표를 사전 집계해 대시보드 조회 구조 구축
실패 이벤트 칸반 자동화 구현큐 실패 이벤트를 칸반 카드로 자동 변환하는 매핑 계층 설계, 영향도×긴급도 우선순위 정렬 로직 구현
환불-권한회수 원자적 트랜잭션 설계환불 승인과 다운로드 권한 회수를 단일 트랜잭션으로 묶어 정합성 오류를 방지하는 구조 구축
출판사별 독립 스케줄러 UI화큐 반복 작업 등록을 크론 표현식 편집 UI로 노출해 코드 배포 없이 수집 주기 변경이 가능하게 설계

기술적 주안점

  • 기존 관리자페이지 구조를 유지한 채 신규 출판사 4곳의 지표를 동일한 테이블 체계로 편입시키는 확장 스키마를 설계합니다
  • 실패 이벤트를 자동으로 칸반 카드화하여, 운영자가 큐 로그를 직접 조회하지 않고도 실패 처리 현황을 시각적으로 파악할 수 있는 구조를 구현합니다
  • 출판사별 독립 스케줄을 하나의 관리 화면에서 개별 제어할 수 있도록 큐 스케줄러의 반복 작업 등록을 UI화합니다

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

필요한 기능과 일정을 알려주시면 개발 범위를 함께 정리하겠습니다.

프로젝트 문의