Skip to content

Pascal-Case/DeliveryDotDot

Repository files navigation

DeliveryDotDot

배달 어플리케이션 API

프로젝트 설명

주제

배달 어플리케이션을 이용하는 유저, 서비스를 제공하는 점주, 배달을 담당하는 라이더의 관점에서 매장의 등록, 음식의 주문, 음식의 배달에 필요한 기능을 제공하는 API 개발

기간

2024.04.16 ~ 2024.05.20

배포

http://43.203.69.35:8080/swagger-ui/index.html#/

기술스택

stackticon

프로젝트 기능

  1. 고객

    • 고객 등록 및 조회, 수정, 삭제
      • 등록
        • 로그인 id, 비밀번호, 이름, 이메일, 전화번호, 배송 지 정보
        • 로그인 id, 이메일, 전화번호는 Unique Key
        • 배송 지는 최소 하나(기본 배송 지)는 있어야 하며, 추가 가능
      • 로그인
        • 로그인 id, 비밀번호 로그인
        • 소셜 로그인
        • JWT
      • 조회
        • 개인 정보, 배송 지 정보 조회
      • 수정
        • 이메일, 비밀번호, 전화번호 , 배송 지 정보 수정, 기본 배송지 변경
      • 삭제
        • 계정 삭제 기능 (논리 삭제)
    • 검색
      • 메뉴, 식당 카테고리로 검색
      • 계정 최초 생성시 입력하는 기본 배송지 기준으로 좌표를 생성하여 근처 5km 이내의 식당을 결과로 보여준다.
      • 휴무 일이 아니고, 오픈 시간 ~ 라스트오더 시간 사이의 매장에 대해서만 메뉴 확인, 장바구니 등록, 주문 단계로 이동 가능
    • 장바구니 및 주문, 결제 단계
      • 장바구니 등록
        • 장바구니에는 한 매장의 메뉴만 등록할 수 있다. (매장 정보가 다를 시 등록된 장바구니 아이템을 전부 삭제)
        • 등록된 메뉴에 대해 삭제, 수정 가능
      • 주문 단계
        • 장바구니에서 주문 단계로 이동
        • 주문 시 요청사항 입력 가능
      • 결제 단계
        • 별도 결제 과정은 없고 가상으로 결제가 되었다고 가정
        • 결제 후 매장(점주)에서 주문을 승인 / 거절
    • 주문
      • 대기 중, 거절, 승인, 조리 중, 조리 완료, 취소의 상태를 가진다
      • 대기 중, 승인 상태에서만 취소가 가능하다.
    • 배달 상태 확인
      • 배달 중인 라이더의 이름과 전화번호를 조회 할 수 있다.
      • 배달 중인 라이더와의 상호작용은 고려하지 않음.
    • 리뷰 및 평점
      • 리뷰
        • 배달이 완료된 주문(매장)에 대해 리뷰 등록
        • 작성이 완료된 리뷰에서 주문한 메뉴가 확인 가능하다
        • 등록 후 리뷰 내용 수정, 삭제 가능
      • 사진
        • 리뷰에 대해 사진 등록 가능 (AWS s3)
        • 등록 후 수정, 삭제 가능
      • 평점
        • 0점에서 최대 5점까지 등록 가능
        • 등록 후 수정 가능
  2. 점주

    • 점주 등록 및 정보 조회, 수정
      • 로그인 id, 비밀번호, 이름, 이메일, 전화번호
      • 로그인 id, 이메일, 전화번호는 Unique Key
      • 별도의 점주 승인 과정은 없다고 가정
      • 로그인
        • 로그인 id, 비밀번호 로그인
        • JWT
      • 조회
        • 점주 정보 조회
        • 관리 매장 조회
        • 전체 매장 매출 조회(일 별, 월 별)
        • 각 매장 매출 조회(일 별, 월 별)
      • 수정
        • 이메일, 비밀번호, 전화번호 수정
      • 삭제
        • 계정 삭제 기능 (논리 삭제)
    • 매장
      • 등록
        • 점주는 하나 이상의 매장을 등록 가능
        • 상호명, 전화 번호, 사업자 등록 번호, 주소, 배달 가능 지역, 매장 카테고리, 휴무일, open 시간, 라스트오더 시간, close 시간, 매장 사진 등록
        • 매장 카테고리(등록된 카테고리 제공)
          • 한식, 중식, 일식, 치킨, 피자 등
      • 수정
        • 휴무일, open 시간, close 시간, 라스트오더 시간, 매장 사진 수정
      • 삭제
        • 매장 삭제 기능 (논리 삭제)
      • 조회
        • 주문 조회
        • 오늘의 주문 건수 조회
        • 오늘의 매출 조회
        • 전체 리뷰 조회, 각 메뉴 리뷰 조회
      • 메뉴
        • 각 매장은 하나 이상의 메뉴를 등록해야 한다.
        • 메뉴 명, 가격, 메뉴 카테고리, 메뉴 사진 등록
        • 메뉴 카테고리
          • 점주가 직접 등록
          • 메인, 사이드 메뉴, 음료, 기타 등
          • 카테고리 수정, 삭제 가능
        • 메뉴의 모든 정보 수정, 삭제 가능 (논리 삭제)
      • 주문
        • 결제가 완료된 주문에 대해 승인 / 거부 수행
        • 승인 후 조리 진행 단계에 따라 점주가 조리 중, 조리 완료 단계로 상태 변경한다.
        • 승인 혹은 조리 중 단계에서 배달 가능 지역의 라이더가 배달할 주문을 선택한다.
  3. 라이더

    • 라이더 등록 및 정보 조회, 수정
      • 로그인 id, 비밀번호, 이름, 이메일, 전화번호, 거주지, 배달 가능 지역, 배달 수단 등록
      • 로그인 id, 이메일, 전화번호는 Unique Key
      • 별도의 라이더 승인 과정은 없다고 가정
      • 로그인
        • 로그인 id, 비밀번호 로그인
        • JWT
      • 수정
        • 비밀번호, 이메일, 전화번호, 거주지, 배달 가능 지역, 배달 수단 수정
      • 삭제
        • 계정 삭제 기능 (논리 삭제)
      • 조회
        • 라이더 정보 조회
        • 이동한 거리 조회 (일 별, 월 별)
        • 배달 건 수 조회 (일 별, 월 별)
        • 수입 조회 (일 별, 월 별)
          • 수입은 1건 당 3000원으로 산정
        • 배달 주문 조회
          • 라이더의 현재 위치를 기준으로 근처 5KM 이내의 주문 리스트를 조회
          • 라이더가 정해지지 않은 승인 혹은 조리 중 단계의 주문 리스트를 조회
        • 배달 내역 조회
          • 배달 내역 상세 조회
    • 배달
      • 배달은 배정, 배달 중, 배달 완료, 실패의 상태를 가진다.
      • 조회한 주문 리스트에서 배달할 주문을 선택
      • 주문한 고객의 전화번호 조회 가능
      • 고객과의 상호작용은 고려하지 않음
      • 배달이 완료되면 배달 완료 사진을 등록
      • 배달이 완료되면 주문의 상태를 배달 완료로 변경
    • 라이더의 현재 위치와 이동 거리
      • 목적지에 도착하였을때 현재 위치를 갱신하고 redis로 관리한다.
      • 그날의 첫 픽업을 기준으로 목적지에 도착하였때 이동한 거리를 누적시킨다.

ERD

ERD

Trouble Shooting

https://github.com/Pascal-Case/DeliveryDotDot/blob/main/doc/TROUBLE_SHOOTING.md

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published