Skip to content

라멘 덕후를 위한, 맛집 탐색 서비스 "라오타" 🍜

Notifications You must be signed in to change notification settings

raota-team/raota-server

Repository files navigation

🍜 라멘 맛집 정리 프로젝트 "라오타" 요구사항 명세서


1️⃣ 사용자 (User)

기능 요구사항

  • 사용자는 내 프로필 정보와 개인 통계(방문 수, 인증샷 수, 찜 수) 를 조회할 수 있다.
  • 사용자는 프로필 이미지를 변경하거나 닉네임을 수정할 수 있다.
  • 사용자는 내가 업로드한 인증샷 목록을 조회할 수 있다.
  • 사용자는 방문한 가게 기록을 확인할 수 있다.
  • 사용자는 찜한 가게 목록을 조회 및 관리(삭제) 할 수 있다.

도메인 규칙

  • 닉네임은 공백 불가, 최대 20자.
  • 하루에 업로드 가능한 인증샷 횟수는 가게당 메뉴 하나로 제한한다.
  • 방문 수는 0 이하가 될 수 없다.
  • 찜은 같은 가게에 대해 중복 등록할 수 없다.

2️⃣ 라멘 가게 (RamenShop)

기능 요구사항

  • 사용자는 가게 상세 페이지에서 기본 정보, 메뉴, 인증샷, 주소, 지역을 조회할 수 있다.
  • 홈 화면에서 인기 라멘집과 이벤트 메뉴를 탐색할 수 있다.
  • 지역별로 라멘집을 필터링 및 검색할 수 있다.

도메인 규칙

  • 메뉴 이름은 같은 가게 내에서 중복될 수 없다.
  • 주소는 비어 있을 수 없다.
  • 영업 종료 시간은 영업 시작 시간보다 이후여야 한다.
  • 방문 수는 0 아래로 내려갈 수 없다.

3️⃣ 인증샷 (PhotoProof)

기능 요구사항

  • 사용자는 방문 후 인증샷을 업로드하여 방문을 기록할 수 있다.
  • 사용자는 인증샷 갤러리를 탐색하여 다른 이용자의 사진을 볼 수 있다.

도메인 규칙

  • 한 사용자는 하루에 한 가게당 한 개의 인증샷만 업로드할 수 있다.
  • 인증샷 수정/삭제 시 반드시 소유자 검증이 수행되어야 한다.

4️⃣ 북마크 (Bookmark)

기능 요구사항

  • 사용자는 라멘집을 찜(북마크) 할 수 있다.
  • 사용자는 내 찜 목록을 조회하거나 찜을 취소(삭제) 할 수 있다.
  • 찜한 가게의 정보(이름, 이미지, 지역, 주소) 를 함께 볼 수 있다.

도메인 규칙

  • 동일한 사용자는 같은 가게를 중복으로 찜할 수 없다.
  • 북마크 생성 시 사용자와 가게가 유효해야 한다.

5️⃣ 지역 (Region)

기능 요구사항

  • 라멘집은 반드시 하나의 지역에 속해야 한다.
  • 사용자는 지역별로 라멘집을 탐색할 수 있다.
  • 관리자는 지역 목록을 관리(추가/수정) 할 수 있다.

도메인 규칙

  • 지역 코드는 고유해야 하며 중복될 수 없다.
  • 지역 이름은 공백이거나 null일 수 없다.

6️⃣ 투표 (Vote)

기능 요구사항

  • 사용자는 현재 진행 중인 투표 현황을 조회할 수 있다.
  • 사용자는 특정 가게나 메뉴에 투표를 참여할 수 있다.

도메인 규칙

  • 한 사용자는 같은 항목에 중복 투표할 수 없다.
  • 투표 종료 후에는 결과만 조회 가능하다.

7️⃣ 홈 및 탐색 (Home & Search)

기능 요구사항

  • 홈 화면에서 인기 라멘집, 이벤트 메뉴, 지역 목록을 조회할 수 있다.
  • 사용자는 지역별, 키워드 기반 검색으로 라멘집을 탐색할 수 있다.

📘 설계 관점 매핑

도메인 주요 애그리거트 (Aggregate Root) 값 객체 (Value Object) 리포지토리 (Repository)
사용자 User UserProfile, VisitStat UserRepository
라멘 가게 RamenShop Address, BusinessHours, ShopStats, Region (참조형 VO) RamenShopRepository
메뉴 NormalMenu, EventMenu MenuName, Money(가격) RamenShopRepository 내부관리
인증샷 PhotoProof ImageUrl, UploadedAt PhotoProofRepository
북마크 Bookmark BookmarkedAt UserRepository 내부 관리
투표 Vote, VoteItem VoteCount VoteRepository

📋 참고 규칙 요약

항목 규칙
메뉴 이름 동일 가게 내에서 중복 불가
주소 비어 있을 수 없음
영업시간 종료시간은 시작시간보다 이후
방문 수 0 미만 불가
인증샷 하루 1회 제한, 소유자 검증 필요
닉네임 공백 불가, 최대 20자
중복 불가
지역 필수, 코드 중복 불가
투표 중복 투표 불가, 종료 후 수정 불가

About

라멘 덕후를 위한, 맛집 탐색 서비스 "라오타" 🍜

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •