Skip to content

⚙️[기능추가][이벤트][관리자] 홈 화면 팝업/배너 관리 기능 구현 필요 #749

@Cassiiopeia

Description

@Cassiiopeia

📝 현재 문제점

  • 앱 홈 화면 진입 시 이벤트, 공지 등을 팝업(바텀시트)으로 노출하는 기능이 없음
  • 기존 Announcement는 푸시 알림 공지사항 개념으로, 홈 화면 팝업과는 완전히 다른 기능
  • 어드민 페이지에서 홈 팝업을 생성/수정/삭제/활성화할 수 있는 관리 기능 없음

🛠️ 해결 방안 / 제안 기능

  • HomePopup 전용 Entity 신규 설계 (기존 Announcement와 독립)
  • 팝업에 이미지(S3), 제목, 설명, 링크 URL, 활성화 여부, 노출 기간, 우선순위 관리
  • 링크 URL은 외부 URL(https://) 및 앱 내부 딥링크(romrom://) 단일 필드로 통합 처리
  • 활성 팝업 조회 시 isActive=true + 현재 시각이 노출 기간 내 + 우선순위 최상위 1개만 반환
  • 어드민 페이지에서 팝업 목록 조회/생성/수정/삭제/활성화 토글 지원

⚙️ 작업 내용

  • HomePopup Entity 설계 및 Flyway 마이그레이션 작성
    • 필드: 제목, 설명, 이미지 URL, 링크 URL, 우선순위, 활성화 여부, 노출 시작일, 노출 종료일
  • HomePopupRepository 구현 (RomRom-Domain-Notification 모듈)
  • AdminHomePopupService 구현 (RomRom-Application 모듈)
    • 목록 조회 (페이지네이션)
    • 생성 (S3 이미지 업로드 포함)
    • 수정 (priority, isActive, 기간, 이미지 등)
    • 삭제
  • AdminRequest / AdminResponse 에 홈 팝업 관련 필드 추가
  • Admin API 엔드포인트 추가
    • POST /api/admin/home-popups/list
    • POST /api/admin/home-popups/create
    • POST /api/admin/home-popups/update
    • POST /api/admin/home-popups/delete
  • 앱 클라이언트 공개 API 추가
    • GET /api/home-popups/active — 현재 노출 대상 팝업 1개 반환 (비로그인 포함 누구나 접근 가능)
  • AdminApiControllerDocs / *ControllerDocs Swagger 문서 업데이트

🙋‍♂️ 담당자

  • 백엔드: @Chuseok22
  • 프론트엔드: 이름
  • 디자인: 이름

Metadata

Metadata

Assignees

Labels

작업전작업 시작 전 준비 상태

Type

No type

Projects

Status

작업전

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions