Skip to content

메뉴 카테고리 테크 스펙 v1

이지표 edited this page Aug 10, 2024 · 1 revision

메뉴 카테고리 관리 기능 테크 스펙

요약 (Summary)

  • 사장님은 메뉴 카테고리를 등록, 수정, 삭제할 수 있다.

배경 (Background)

  • 손님들이 음식물을 주문할 시 메뉴를 보기 편하게 카테고리를 설정합니다.
  • 메뉴 카테고리는 카테고리의 대략적인 설명과 메뉴들을 보여줍니다.

목표 (Goals)

  • 메뉴 카테고리를 등록, 수정, 삭제를 할 수 있다.

목표가 아닌 것 (Non-goals)

  • 주문 처리 시스템
  • 고객 리뷰 시스템

계획 (Plan)

  1. 데이터 모델 설계

    • 메뉴 카테고리 엔티티 정의 (id, uuid, name, description, restaurant_uuid, created_at, updated_at)
    • 데이터베이스 스키마 설계 및 생성
  2. API 엔드포인트 설계

    • POST /menu/category/{restaurantUuid} : 카테고리 생성
    • PUT /menu/category/{categoryUuid} : 카테고리 수정
    • DELETE /menu/category/{categoryUuid} : 카테고리 삭제
    • GET /menu/category/{restaurantUuid} : 레스토랑의 모든 카테고리 조회
  3. 백엔드 구현

    • MenuCategoryRepository 인터페이스 구현
    • MenuCategoryService 클래스 구현 (비즈니스 로직)
    • MenuCategoryController 클래스 구현 (API 엔드포인트)

이외 고려사항들 (Other Considerations)

  • 성능: 대량의 카테고리와 메뉴를 효율적으로 처리할 수 있는 인덱싱 전략
  • 확장성: 향후 메뉴 관리 기능을 쉽게 추가할 수 있는 구조 설계
  • 동시성: 여러 사용자가 동시에 카테고리를 수정할 때의 데이터 일관성 유지

질문들 (Open Questions)

  1. 카테고리 삭제 시, 연관된 메뉴들을 어떻게 처리할 것인가? (삭제 or 기본 카테고리로 이동)