동네 매장 관리자 운영 허브
MVP 이후 확장 범위로 매장 승인, 신고·숨김 모니터링, AI 추천 피드 점수 조정, 푸시 알림 발송 관리와 통계를 한 콘솔에서 다루는 관리자 웹을 설계합니다.
프로젝트 개요
MVP 이후 확장 범위로 매장 승인, 신고·숨김 모니터링, AI 추천 피드 점수 조정, 푸시 알림 발송 관리와 통계를 한 콘솔에서 다루는 관리자 웹을 설계합니다. P1 스택 위에 Redis와 Bull Queue를 더하고, 2차 결제·주문 모듈을 붙일 수 있는 확장 구조까지 함께 구현합니다.
작업 범위
- 매장 승인 심사 콘솔: 신규 매장 등록 신청을 목록에서 선택해 사업자 정보와 제출 사진을 확인하고 승인·보완 요청·반려를 처리합니다
- 신고·숨김 콘텐츠 모니터링: 접수된 신고와 새로 올라온 소식을 한 화면에서 검토하고 숨김·복원·경고 처리를 수행합니다
- AI 추천 점수 조정 보드: 거리·관심·시간대·최신성 가중치를 조정하고 샘플 손님 기준 추천 피드 변화를 미리 확인합니다
- 푸시 알림·통계 요약: 관심 매장 새 소식 알림의 발송 큐와 기기 토큰 현황을 확인하고 회원·매장·콘텐츠 기본 통계를 요약합니다
주요 업무
- 매장 승인 심사 콘솔 화면: 상태 머신 기반 승인 흐름과 심사 이력 기록 구조
- 신고·숨김 콘텐츠 모니터링 화면: 신고 큐와 콘텐츠 상태 플래그, 처리 이력을 연결한 모더레이션 구조
- AI 추천 점수 조정 보드 화면: 가중치 설정 테이블과 LLM 보조 문구 정렬을 결합한 추천 로직 미리보기 구조
- 푸시 알림·통계 요약 화면: Bull Queue 기반 알림 발송과 토큰 관리, 통계 집계 뷰를 연결한 구조



프로젝트 핵심 과제
신고가 몰릴 때 우선순위를 어떻게 매길지와 오신고 방지를 위한 처리 기준 설계가 필요합니다
추천 가중치 변경이 노출 로그 집계에 섞이지 않
버전 단위로 로그를 분리하는 설계가 필요합니다
관심 손님이 많은 매장의 새 소식 알림을 한꺼번에 발송할 때 큐 분할과 재시도 정책 설계가 필요합니다
개인정보 동의 이력과 알림 수신 설정이 발송 대상 산정에 정확히 반영되는 조건 설계가 필요합니다
1차 범위에서 제외된 결제·주문을 추후 붙일 때 기존 매장·소식 모델을 깨지 않는 확장 경계 설계가 필요합니다
핵심 기능 상세
매장 승인 심사 콘솔
신규 매장 등록 신청을 목록에서 선택해 사업자 정보와 제출 사진을 확인하고 승인·보완 요청·반려를 처리합니다. 상태 머신 기반 승인 흐름과 심사 이력 기록 구조.
- 신청·보완·승인·반려 상태 전이를 Prisma 트랜잭션으로 관리
- 목록-상세 분할 화면에서 키보드 단축키 기반 연속 심사 구현
- 심사 이력 테이블에 담당자·사유·시각 기록
승인·반려 사유와 이력이 매장 단위로 남는 심사 흐름과 목록·상세 분할 화면을 구현합니다.


신고·숨김 콘텐츠 모니터링
접수된 신고와 새로 올라온 소식을 한 화면에서 검토하고 숨김·복원·경고 처리를 수행합니다. 신고 큐와 콘텐츠 상태 플래그, 처리 이력을 연결한 모더레이션 구조.
- 신고 유형별 우선순위 큐와 중복 신고 병합 로직 설계
- 소식 숨김 플래그가 피드·검색에서 즉시 제외되도록 쿼리 조건 적용
- 처리 결과를 신고자·매장에 알리는 알림 이벤트 발행
신고 접수에서 숨김 처리, 복원까지 상태와 이력이 연결되는 모니터링 화면을 구현합니다.


AI 추천 점수 조정 보드
거리·관심·시간대·최신성 가중치를 조정하고 샘플 손님 기준 추천 피드 변화를 미리 확인합니다. 가중치 설정 테이블과 LLM 보조 문구 정렬을 결합한 추천 로직 미리보기 구조.
- 가중치 설정 버전 관리와 변경 전후 피드 비교 미리보기 API 구현
- OpenAI API로 소식 요약 태그를 생성해 규칙 점수와 결합
- 추천 노출 로그 테이블과 일별 집계 Materialized View 구성
규칙 기반 점수와 LLM 태그를 결합한 추천 로직을 가중치 조정과 미리보기로 검증하도록 구현합니다.


푸시 알림·통계 요약
관심 매장 새 소식 알림의 발송 큐와 기기 토큰 현황을 확인하고 회원·매장·콘텐츠 기본 통계를 요약합니다. Bull Queue 기반 알림 발송과 토큰 관리, 통계 집계 뷰를 연결한 구조.
- FCM 기기 토큰 등록·만료 정리 배치와 발송 재시도 정책 설계
- 새 소식 이벤트를 Bull Queue로 팬아웃해 관심 손님별 알림 생성
- 회원·매장·콘텐츠 일별 통계를 Materialized View로 집계해 Recharts 표시
알림 발송 큐 상태와 토큰 현황을 한눈에 확인하고, 결제·주문 모듈이 같은 이벤트 버스에 연결되도록 확장 구조를 설계합니다.


프로젝트 진행 단계
승인·신고 상태 머신 및 감사 이력 설계 · 2026.10
매장 승인·신고 처리 상태 전이 정의와 이력 테이블 ERD 설계
모더레이션·승인 API 개발 · 2026.10
승인·반려·숨김·복원 API와 중복 신고 병합 로직 구현
알림 큐·추천 가중치 모듈 구축 · 2026.10
Bull Queue 알림 팬아웃, FCM 토큰 관리, 추천 가중치 버전 관리 구축
관리자 콘솔 화면·통계 뷰 개발 · 2026.10
목록·상세 분할 화면과 통계 Materialized View, 차트 화면 구현
개발 결과
기술적 주안점
- 승인·반려 사유와 이력이 매장 단위로 남는 심사 흐름과 목록·상세 분할 화면을 구현합니다
- 신고 접수에서 숨김 처리, 복원까지 상태와 이력이 연결되는 모니터링 화면을 구현합니다
- 규칙 기반 점수와 LLM 태그를 결합한 추천 로직을 가중치 조정과 미리보기로 검증하도록 구현합니다