← 포트폴리오 목록

크리에이터 수익·등급 관리 콘솔

MVP 이후 확장으로 크리에이터 수익 추이 대시보드, 등급 기준 관리와 시뮬레이션, 활동량 집계 배치 현황, 콘텐츠·크리에이터 성과 리포트를 하나의 관리 콘솔로 묶는 구현한 프로젝트입니다.

프로젝트 납품 요약

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

서비스 타입Web
업종데이터 분석
기술 스택
ReactTypeScriptRechartsNode.jsNestJSTypeORMMySQLMongoDBRedis
주요 기능
  • 크리에이터 수익 대시보드
  • 등급 기준 관리·시뮬레이션
  • 활동량 집계 배치 현황
  • 콘텐츠·크리에이터 성과 리포트

프로젝트 개요

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

MVP 이후 확장으로 크리에이터 수익 추이 대시보드, 등급 기준 관리와 시뮬레이션, 활동량 집계 배치 현황, 콘텐츠·크리에이터 성과 리포트를 하나의 관리 콘솔로 묶는 구현한 프로젝트입니다. P1과 같은 Node.js·NestJS·MySQL·MongoDB 기반에 Redis 캐시를 더해 설계할 예정이며, 정산 증빙용 내역 조회 화면도 포함합니다.

작업 범위

  • 크리에이터 수익 대시보드: 기간별 수익 추이를 큰 차트로 보고, 우측에서 총 수익·정산 대기액·상위 크리에이터를 확인하며, 하단 위젯으로 수익원별 비중과 일별 흐름을 살핍니다
  • 등급 기준 관리·시뮬레이션: 운영 담당자가 등급별 활동량 기준과 혜택을 수정하기 전에, 변경안을 적용했을 때 크리에이터 등급 분포가 어떻게 달라지는지 미리 확인합니다
  • 활동량 집계 배치 현황: 활동량 집계와 등급 산정 배치의 실행 이력, 처리 건수, 실패 사유를 목록과 타임라인으로 확인하고 실패 건만 다시 실행합니다
  • 콘텐츠·크리에이터 성과 리포트: 크리에이터별·주제별 콘텐츠 학습 참여와 완주, 적립 리워드 현황을 표로 보고, 정산 증빙용으로 내역을 내려받습니다

주요 업무

  • 크리에이터 수익 대시보드 화면: MySQL 일별 수익 집계 테이블을 Redis에 캐시하고 기간·크리에이터 조건으로 조회하는 구조로 설계합니다
  • 등급 기준 관리·시뮬레이션 화면: 기준표 초안을 별도 버전으로 저장하고 현재 활동량 점수에 대입해 등급 분포를 계산하는 시뮬레이션 API로 설계합니다
  • 활동량 집계 배치 현황 화면: 배치 실행 로그를 MongoDB 컬렉션에 쌓고, 실행 상태와 실패 사유를 조회하는 API와 재실행 요청 흐름으로 설계합니다
  • 콘텐츠·크리에이터 성과 리포트 화면: 서버 필터와 정렬이 적용된 리포트 조회 API와 CSV 내보내기 엔드포인트로 설계합니다
크리에이터 수익·등급 관리 콘솔
요구사항 정의

프로젝트 핵심 과제

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

수익 집계를 캐시하면서도 정산 확정 직후 수치가 어긋나지 않

캐시 무효화 시점과 집계 갱신 순서 설계 필요

등급 기준 변경 시 이미 부여된 등급과 새 기준 결과가 충돌하지 않

적용 시점과 소급 범위 규칙 설계 필요

활동량 집계 배치가 중간에 실패해도 일부만 반영된 점수가 남지 않

기준일 단위 트랜잭션과 재실행 규칙 설계 필요

정부지원사업 사업비 증빙용 내역이 화면 수치와 항상 일치하

조회 조건과 내보내기 조건의 공통화 방법 설계 필요

구현 내용

핵심 기능 상세

핵심 기능 1

크리에이터 수익 대시보드

기간별 수익 추이를 큰 차트로 보고, 우측에서 총 수익·정산 대기액·상위 크리에이터를 확인하며, 하단 위젯으로 수익원별 비중과 일별 흐름을 살핍니다.

  • 일별 수익 집계 테이블과 기간 범위 조회 API를 NestJS 모듈로 구현
  • 조회 조건별 결과를 Redis에 짧은 TTL로 캐시하고 집계 갱신 시 키를 무효화하는 규칙 설계
  • Recharts 영역 차트와 도넛·막대 위젯을 공통 기간 선택기와 연동

한 번 선택한 기간과 크리에이터 조건이 모든 차트와 지표에 같이 적용되도록 상태를 하나로 모으는 구조를 설계합니다.

크리에이터 수익 대시보드
크리에이터 수익 대시보드 실제 화면
핵심 기능 2

등급 기준 관리·시뮬레이션

운영 담당자가 등급별 활동량 기준과 혜택을 수정하기 전에, 변경안을 적용했을 때 크리에이터 등급 분포가 어떻게 달라지는지 미리 확인합니다.

  • 등급 기준표를 버전 테이블로 관리하고 초안·적용 상태를 구분하는 모델 설계
  • 활동량 점수에 초안 기준을 대입해 등급별 인원을 계산하는 시뮬레이션 쿼리 구현
  • 변경 전후 분포를 나란히 비교하는 막대 차트와 변경 확정 확인 단계 구현

기준을 바로 덮어쓰지 않고 초안 버전으로 먼저 계산해 보는 흐름으로, 등급 정책 변경이 크리에이터에게 주는 영향을 확정 전에 볼 수 있도록 설계합니다.

등급 기준 관리·시뮬레이션
등급 기준 관리·시뮬레이션 실제 화면
핵심 기능 3

활동량 집계 배치 현황

활동량 집계와 등급 산정 배치의 실행 이력, 처리 건수, 실패 사유를 목록과 타임라인으로 확인하고 실패 건만 다시 실행합니다.

  • 배치 실행 시작·종료·실패 이벤트를 MongoDB 로그 컬렉션에 기록하는 구조 설계
  • NestJS 스케줄러 작업의 실행 상태 조회 API와 실패 건 재실행 엔드포인트 구현
  • 같은 기준일 배치가 중복 실행되지 않도록 기준일 단위 잠금 키 적용

기준일 단위로 배치를 멱등하게 만들어 재실행해도 같은 결과가 나오도록 하는 규칙을 설계합니다.

활동량 집계 배치 현황
활동량 집계 배치 현황 실제 화면
핵심 기능 4

콘텐츠·크리에이터 성과 리포트

크리에이터별·주제별 콘텐츠 학습 참여와 완주, 적립 리워드 현황을 표로 보고, 정산 증빙용으로 내역을 내려받습니다. 서버 필터와 정렬이 적용된 리포트 조회 API와 CSV 내보내기 엔드포인트로 설계합니다.

  • 크리에이터·주제·기간 조건과 정렬을 서버에서 처리하는 리포트 조회 API 구현
  • 조회 조건을 그대로 적용하는 CSV 내보내기 엔드포인트와 스트리밍 응답 구현
  • 표 컬럼 선택과 필터 상태를 URL 쿼리와 동기화하는 React 훅 구현

화면에서 보는 조건과 내려받는 파일이 같은 조건식을 공유하여 증빙 자료와 화면 수치가 어긋나지 않는 구조를 설계합니다.

콘텐츠·크리에이터 성과 리포트
콘텐츠·크리에이터 성과 리포트 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

수익 집계 모델·캐시 구조 설계 · 2026.10

MySQL 일별 수익 집계 테이블, Redis 조회 캐시 키 규칙과 무효화 시점 정의

STEP 2

수익 대시보드·차트 화면 개발 · 2026.10

기간 선택기 연동 Recharts 영역·도넛·막대 위젯과 상위 크리에이터 리스트 구현

STEP 3

등급 기준 버전·시뮬레이션 기능 개발 · 2026.10

기준표 버전 테이블, 초안 대입 분포 계산 쿼리, 전후 비교 차트와 확정 단계 구현

STEP 4

배치 이력·성과 리포트 화면 구현 · 2026.10

MongoDB 배치 로그 조회와 재실행 흐름, 필터 리포트 표와 CSV 내보내기 구현

개발 결과

기간 조건 공유 대시보드 상태 구조 구현기간·크리에이터 조건을 하나의 상태로 모아 메인 차트·지표·위젯이 같은 조건으로 갱신되는 구조를 Redis 캐시와 연결해 구축
초안 버전 기반 등급 시뮬레이션 설계기준표를 초안·적용 버전으로 분리하고 현재 활동량에 대입한 전후 등급 분포를 계산하는 시뮬레이션 쿼리 구조 설계
기준일 멱등 배치와 실행 이력 구축기준일 단위 잠금 키로 재실행에도 같은 결과가 나오는 배치를 구성하고 실행 로그를 MongoDB에 기록하는 구조 적용
화면 조건 동일 CSV 내보내기 구현리포트 조회와 CSV 내보내기가 같은 조건식을 공유하도록 서버 필터를 공통화하여 화면과 파일의 합계가 일치하는 구조 구축

기술적 주안점

  • 한 번 선택한 기간과 크리에이터 조건이 모든 차트와 지표에 같이 적용되도록 상태를 하나로 모으는 구조를 설계합니다
  • 기준을 바로 덮어쓰지 않고 초안 버전으로 먼저 계산해 보는 흐름으로, 등급 정책 변경이 크리에이터에게 주는 영향을 확정 전에 볼 수 있도록 설계합니다
  • 기준일 단위로 배치를 멱등하게 만들어 재실행해도 같은 결과가 나오도록 하는 규칙을 설계합니다

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

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

프로젝트 문의