kyupid / airbnb

Airbnb 클론 프로젝트 (3주)
1 stars 1 forks source link

기획서 분석 최종본 #21

Closed kyupid closed 3 years ago

kyupid commented 3 years ago

Updated 2021.05.20 17:53 (11:30-12:30 회의한것 업뎃) Updated 2021.05.21 11:30 (10:30-11:30 회의한것 업뎃)

iOS 기획서

  1. 메인화면 API 1-1. 검색바 눌렀을 때 나오는 결과 API (메인화면에서는 목록의 전체갯수혹은 limit을 정해서 반환)(여행지의 정보는 사진URL, 이름, 차로 얼마나걸리는지 거리) 1-2. 큐레이션 배너 이미지 URL 정보 API (배경을 눌렀을때 / 여행아이디어 얻기 버튼 눌렀을 때) (생각안해도 됨) 1-3. 가까운 여행지 둘러보기 목록 API 1-4. 위시리스트 API, 저장, 삭제 API까지 1-5. 로그인 API (나중에 물어보겠음)
  1. 검색바 API 2-1. 검색바 눌렀을때 근처의 인기여행지 API (1-1-1, 1-1-3 API와 겹침) 2-2. 검색에 따른 자동완성 리스트 APO (ElasticSearch)(iOS같은 경우엔 iOS단에서 해결할수있다/서버에요청안해도됨) (옵션) 2-3. 검색어 초기화하고 근처의 인기 여행지 리스트가 다시 표시 API (2-2-1 API와 겹침)(필요없을듯..?) 2-4. 여행지 리스트 중에서 원하는 여행지를 클릭했을때 불러올 정보 API (위치=여행지이름)
  1. 숙소찾기 (달력/날짜) API 3-1. 백엔드랑 관계없음 3-2. 요금을 누르면 어떤 정보가 필요한지 물어봐야할듯 어쩃든 모든 요금정보가 필요하니 위치에따른 모든 숙소의 가격정보가 필요 3-3. 지우기눌렀을때는 어떻게 작동하는거지? (엘리가 생각할때 iOS기획서에서 7페이지까지넘어가는데, 검색버튼을 누를때까지 서버와 뭔가 통신이 불필요할거같음) 3-4. 위치 리스트 표시 API

다음을 눌렀을 때 설정한 모든 정보를 한 Entity에 저장 해야함. (위치,체크인날짜/체크아웃날짜,요금,인원) Entity 이름을 뭐라고 할까?

백엔드 서버와 통신할 것은 없어보임

검색할때 가격범위를 지정하는 페이지인데, 이건 어떤 API가 필요할지 상의해봐야할거같다. (3-3-2와 겹침) (비모:인원과 위치에 따른 숙소가 얼마나 있는지 보내면 된다) (엘리: 가격정보를 부를떄 위체 따른 숙소가 얼마나 있는지만 보내면된다? (숙소에는 가격이포함되어있다)) (엘리: 제주도라는 위치가 있다면 제주도에 대한 숙소들에 대한 가격을 배열로 반환)

(엘리: 숙소 데이터 몇개라도 넣어주세요) 일단은 전부 숙소가 공실이라고 생각하고, 가격변동도 없다라고 생각하면 되는데, 데이터를 수동으로 삽입,수정할때 예약된 숙소도 생각해보기.

GET  baseURL/prices/localname=?"서울"
{
    prices = [1000,20000,3000,60000,6000,6000,6000]
}

인원 정해주는 페이지, 백엔드와 통신할 것은 없어보인다? (요금,검색 버튼에서만 백엔드랑 통신하는듯?)

  1. 숙소찾기 조건에 맞는 검색결과 API 4-1. 입력했던 위치, 날짜 그리고 게스트 명수가 나와야하는 API (4페이지 확인) 4-2. 숙소와 연결된 하트 표시가 있고, 그 하트를 누르면 위시리스트에 저장되는 API (3-3-4 리스트와 동일) 4-3. 지도 펩 버튼을 누르면 검색결과를 지도에서 볼 수 있다. (뭐가 필요할지 모르겠음 상의해봐야함) 4-4. 지우기 버튼을 누르면 검색결과 초기화 API (3-3-3과 동일한 API)
  1. 지도에 표시되는 범위에 따라서 숙소들 리스트를 만들어주는 API (어떻게해야할지 모르겠음) 5-1. 지도 내에 숙소들이 1박당 가격으로 나옴.. 5-2. 해당 지도에 보이는 숙소들 리스트가 지도에서 가로로 5-3. 해당 지도에 보이는 숙소들 리스트가 세로로 (5-5-2와 같은 API)
  1. 숙소 상세 페이지 API (밑에 나열한 리스트들을 한꺼번에 Response) 6-1. 대표이미지와 그냥이미지의 URL들이 담긴 리스트 6-2. 뒤로 버튼 누를시 검색 리스트 API (8페이지에서 구현한 API) 6-3. 숙소에 대한 정보가 담긴 Entity 6-4. 4-4-1과 동일한 Entity

    최대인원, 원룸인지 집전체인지, 침대는 몇개인지, 욕실은 몇개인지, 리뷰, 제목, 내용 등이 와야한다.

    Hotel
    
    HotedId (고유아이디)
    이미지url배열
    호텔이름
    별점
    후기
    지역
    호스트이름
    최대인원
    침대갯수
    욕실갯수
    boolean 원룸
    내용  
    가격
    
    주방, 무선인터넷, 헤어드라이어 서비스에 관련한 부분의 대한 ㅁ고록이 필요하다 

4-4-1과 동일한 Entity..여기서 입력해주면 그 Entity에 저장

  1. 최종 숙소 예약 API 7-1. 일정,인원수에 따라 가격정보...이건 어디서해줘야할지 모르겠는데 상의가 필요할듯. 7-2. 예약을 누르면 예약 목록에 담기는 API

    유저에따라서 예약리스트가 있고 예약리스트에 그 예약정보를 넣어서 디비에 보관 POST에 뭐 넣을지 논의

    {
    "id" : hotelId
    "userId" : userId
    "checkIn": "20210521",
    "checkOut": "20210522",
    "numberOfGuests": 3
    }
    }

    리스폰스는 예약이 됐는지 안됐는지

    price * numberOfGuests = totalPrice

  1. 숙소 예약 상세 페이지 API (취소가능한 API) 8-1. 예약된 리스트를 보여주는 API

    Response
    
    숙소아이디,
    숙소대표이미지, 
    체크인/체크아웃, 
    숙소이름,
    지역

    8-2. 예약된 페이지를 눌렀을 때 보여주는 상세 API

    Response 
    
    8-1에 추가로
    호스트,
    boolean 원룸,
    총 게스트 수,
    가격
    

    8-3. 예약 취소를 누르면 예약목록에서 지우는 API

  1. 위시리스트 하트 눌러서 담았던 리스트 호출 API 9-1. 위시리스트를 누르면 목록이 나오는 API

    위시리스트 불러왔을 때 숙소의 카드 화면:

    하트를 다시 누르면 위시리스트에서 해당숙소가 제거되는 API


그외

kyupid commented 3 years ago

2021-05-24_20-18-41

데이터 관계 수정

추가 reservation 1: hotel N

수정 review_number -> review_count