Skip to content

[BE] 리뷰/게시글 빵집·메뉴 태그 시스템 구현 #298

Description

@duku0751

목적

리뷰 작성 시 빵집 분위기·맛 태그와 메뉴별 태그를 등록할 수 있도록 하고, 자유게시글 작성 시 빵집을 연결하고 태그를 붙일 수 있도록 합니다. 태그 데이터는 빵집 상세 페이지의 인기 태그 집계에 활용됩니다.


작업 내용

  • BakeryTag, BreadTag 엔티티 및 레포지토리 추가
  • BakeryTagType (분위기/맛 10종), BreadTagType (맛 8종) 열거형 추가
  • 리뷰 작성/수정 시 빵집 태그(최대 2개), 메뉴 태그(메뉴당 최대 2개, 최대 5개 메뉴) 저장
  • 리뷰 삭제 시 연관 태그 하드삭제
  • 자유게시글 작성/수정 시 빵집 연결 및 빵집 태그(최대 2개) 저장
  • 게시글 삭제 시 연관 태그 하드삭제
  • 리뷰 목록 조회 응답에 태그 포함
  • 게시글 상세 조회 응답에 빵집 정보 및 태그 포함
  • 동일 breadId 중복 요청 시 태그 합산 + 초과 시 E0311 에러 반환
  • DB 인덱스 추가: bakery_tag(source_type, source_id), bread_tag(review_id)

영향 범위

  • 엔티티: BakeryTag, BreadTag, Post (bakery 필드 추가)
  • 엔드포인트
    • POST /bakeries/{id}/reviews — 요청 바디에 bakeryTags, menuTags 추가
    • PATCH /bakeries/{id}/reviews/{reviewId} — 요청 바디에 bakeryTags, menuTags 추가
    • GET /bakeries/{id}/reviews — 응답에 bakeryTags, menuTags 추가
    • POST /community/posts — 요청 바디에 bakeryId, bakeryTags 추가
    • PATCH /community/posts/{id} — 요청 바디에 bakeryTags 추가
    • GET /community/posts/{id} — 응답에 bakeryId, bakeryName, bakeryTags 추가
  • 모듈: bakery, community, global(ErrorCode)
  • DB: bakery_tag, bread_tag 테이블 추가, post 테이블에 bakery_id 컬럼 추가

완료 조건

  • 기능 정상 동작
  • Lint / 타입 체크 통과
  • [] API 명세 업데이트

관련 이슈 / 참고

  • 태그 내용 확정 및 빵집 상세 페이지 태그 표시는 추후 PR에서 진행 예정

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions