← 포트폴리오 목록

동네 매장 관리자 운영 허브

MVP 이후 확장 범위로 매장 승인, 신고·숨김 모니터링, AI 추천 피드 점수 조정, 푸시 알림 발송 관리와 통계를 한 콘솔에서 다루는 관리자 웹을 설계합니다.

프로젝트 납품 요약

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

서비스 타입Web
업종모니터링
기술 스택
ReactTypeScriptTailwind CSSNode.js + ExpressPostgreSQL + PrismaRedisBull QueueOpenAI APIAWS S3
주요 기능
  • 매장 승인 심사 콘솔
  • 신고·숨김 콘텐츠 모니터링
  • AI 추천 점수 조정 보드
  • 푸시 알림·통계 요약

프로젝트 개요

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

MVP 이후 확장 범위로 매장 승인, 신고·숨김 모니터링, AI 추천 피드 점수 조정, 푸시 알림 발송 관리와 통계를 한 콘솔에서 다루는 관리자 웹을 설계합니다. P1 스택 위에 Redis와 Bull Queue를 더하고, 2차 결제·주문 모듈을 붙일 수 있는 확장 구조까지 함께 구현합니다.

작업 범위

  • 매장 승인 심사 콘솔: 신규 매장 등록 신청을 목록에서 선택해 사업자 정보와 제출 사진을 확인하고 승인·보완 요청·반려를 처리합니다
  • 신고·숨김 콘텐츠 모니터링: 접수된 신고와 새로 올라온 소식을 한 화면에서 검토하고 숨김·복원·경고 처리를 수행합니다
  • AI 추천 점수 조정 보드: 거리·관심·시간대·최신성 가중치를 조정하고 샘플 손님 기준 추천 피드 변화를 미리 확인합니다
  • 푸시 알림·통계 요약: 관심 매장 새 소식 알림의 발송 큐와 기기 토큰 현황을 확인하고 회원·매장·콘텐츠 기본 통계를 요약합니다

주요 업무

  • 매장 승인 심사 콘솔 화면: 상태 머신 기반 승인 흐름과 심사 이력 기록 구조
  • 신고·숨김 콘텐츠 모니터링 화면: 신고 큐와 콘텐츠 상태 플래그, 처리 이력을 연결한 모더레이션 구조
  • AI 추천 점수 조정 보드 화면: 가중치 설정 테이블과 LLM 보조 문구 정렬을 결합한 추천 로직 미리보기 구조
  • 푸시 알림·통계 요약 화면: Bull Queue 기반 알림 발송과 토큰 관리, 통계 집계 뷰를 연결한 구조
동네 매장 관리자 운영 허브
요구사항 정의

프로젝트 핵심 과제

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

신고가 몰릴 때 우선순위를 어떻게 매길지와 오신고 방지를 위한 처리 기준 설계가 필요합니다

추천 가중치 변경이 노출 로그 집계에 섞이지 않

버전 단위로 로그를 분리하는 설계가 필요합니다

관심 손님이 많은 매장의 새 소식 알림을 한꺼번에 발송할 때 큐 분할과 재시도 정책 설계가 필요합니다

개인정보 동의 이력과 알림 수신 설정이 발송 대상 산정에 정확히 반영되는 조건 설계가 필요합니다

1차 범위에서 제외된 결제·주문을 추후 붙일 때 기존 매장·소식 모델을 깨지 않는 확장 경계 설계가 필요합니다

구현 내용

핵심 기능 상세

핵심 기능 1

매장 승인 심사 콘솔

신규 매장 등록 신청을 목록에서 선택해 사업자 정보와 제출 사진을 확인하고 승인·보완 요청·반려를 처리합니다. 상태 머신 기반 승인 흐름과 심사 이력 기록 구조.

  • 신청·보완·승인·반려 상태 전이를 Prisma 트랜잭션으로 관리
  • 목록-상세 분할 화면에서 키보드 단축키 기반 연속 심사 구현
  • 심사 이력 테이블에 담당자·사유·시각 기록

승인·반려 사유와 이력이 매장 단위로 남는 심사 흐름과 목록·상세 분할 화면을 구현합니다.

매장 승인 심사 콘솔
매장 승인 심사 콘솔 실제 화면
핵심 기능 2

신고·숨김 콘텐츠 모니터링

접수된 신고와 새로 올라온 소식을 한 화면에서 검토하고 숨김·복원·경고 처리를 수행합니다. 신고 큐와 콘텐츠 상태 플래그, 처리 이력을 연결한 모더레이션 구조.

  • 신고 유형별 우선순위 큐와 중복 신고 병합 로직 설계
  • 소식 숨김 플래그가 피드·검색에서 즉시 제외되도록 쿼리 조건 적용
  • 처리 결과를 신고자·매장에 알리는 알림 이벤트 발행

신고 접수에서 숨김 처리, 복원까지 상태와 이력이 연결되는 모니터링 화면을 구현합니다.

신고·숨김 콘텐츠 모니터링
신고·숨김 콘텐츠 모니터링 실제 화면
핵심 기능 3

AI 추천 점수 조정 보드

거리·관심·시간대·최신성 가중치를 조정하고 샘플 손님 기준 추천 피드 변화를 미리 확인합니다. 가중치 설정 테이블과 LLM 보조 문구 정렬을 결합한 추천 로직 미리보기 구조.

  • 가중치 설정 버전 관리와 변경 전후 피드 비교 미리보기 API 구현
  • OpenAI API로 소식 요약 태그를 생성해 규칙 점수와 결합
  • 추천 노출 로그 테이블과 일별 집계 Materialized View 구성

규칙 기반 점수와 LLM 태그를 결합한 추천 로직을 가중치 조정과 미리보기로 검증하도록 구현합니다.

AI 추천 점수 조정 보드
AI 추천 점수 조정 보드 실제 화면
핵심 기능 4

푸시 알림·통계 요약

관심 매장 새 소식 알림의 발송 큐와 기기 토큰 현황을 확인하고 회원·매장·콘텐츠 기본 통계를 요약합니다. Bull Queue 기반 알림 발송과 토큰 관리, 통계 집계 뷰를 연결한 구조.

  • FCM 기기 토큰 등록·만료 정리 배치와 발송 재시도 정책 설계
  • 새 소식 이벤트를 Bull Queue로 팬아웃해 관심 손님별 알림 생성
  • 회원·매장·콘텐츠 일별 통계를 Materialized View로 집계해 Recharts 표시

알림 발송 큐 상태와 토큰 현황을 한눈에 확인하고, 결제·주문 모듈이 같은 이벤트 버스에 연결되도록 확장 구조를 설계합니다.

푸시 알림·통계 요약
푸시 알림·통계 요약 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

승인·신고 상태 머신 및 감사 이력 설계 · 2026.10

매장 승인·신고 처리 상태 전이 정의와 이력 테이블 ERD 설계

STEP 2

모더레이션·승인 API 개발 · 2026.10

승인·반려·숨김·복원 API와 중복 신고 병합 로직 구현

STEP 3

알림 큐·추천 가중치 모듈 구축 · 2026.10

Bull Queue 알림 팬아웃, FCM 토큰 관리, 추천 가중치 버전 관리 구축

STEP 4

관리자 콘솔 화면·통계 뷰 개발 · 2026.10

목록·상세 분할 화면과 통계 Materialized View, 차트 화면 구현

개발 결과

매장 승인 상태 머신 설계신청·보완·승인·반려 전이를 Prisma 트랜잭션으로 관리하고 사유와 담당자를 이력 테이블에 기록하는 구조를 설계합니다.
신고 병합·숨김 즉시 반영 구현중복 신고를 하나의 항목으로 묶고 숨김 플래그가 피드·검색 쿼리에서 바로 제외되도록 조건을 적용합니다.
추천 가중치 버전·미리보기 구축가중치 변경을 버전으로 저장하고 샘플 손님 기준 변경 전후 피드를 비교하는 미리보기 API를 구축합니다.
알림 큐·결제 확장 이벤트 버스 설계Bull Queue 팬아웃 구조를 이벤트 버스로 일반화해 2차 결제·주문 모듈을 추가할 연결 지점을 설계합니다.

기술적 주안점

  • 승인·반려 사유와 이력이 매장 단위로 남는 심사 흐름과 목록·상세 분할 화면을 구현합니다
  • 신고 접수에서 숨김 처리, 복원까지 상태와 이력이 연결되는 모니터링 화면을 구현합니다
  • 규칙 기반 점수와 LLM 태그를 결합한 추천 로직을 가중치 조정과 미리보기로 검증하도록 구현합니다

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

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

프로젝트 문의