[BE] 회의내용 - dahun-lee-daji/airbnb GitHub Wiki
회의내용
-[05/28]
-
search를 room URL에 녹이기
- GET http://{{url}}/search/price/seoul -> GET http://{{url}}/rooms/price?location="seoul" -> url path에 search를 rooms로 변경, location을 pathvariable에서 param으로 변경 - GET http://{{url}}/search?location="seoul"&checkIn=2020-05-20&checkOut=2020-05-30&minPrice=1000&maxPrice=10000000&guest=1 -> GET http://{{url}}/rooms?location="seoul"&checkIn=2020-05-20&checkOut=2020-05-30&minPrice=1000&maxPrice=10000000&guest=1 -> url path에 search를 rooms로 변경
- wishlist 요청을 파라미터로 변경하기 - POST http://{{url}}/wishlist/1 -> POST http://{{url}}/wishlist/1?rooomId=1 -> wishlist/{userId}/{roomId}의 구조에서 roomId를 param으로 변경 - DELETE http://{{url}}/wishlist/1 -> DELETE http://{{url}}/wishlist/1?rooomId -> wishlist/{userId}/{roomId}의 구조에서 roomId를 param으로 변경
- 트리[05/27 회의] [05/28 회의] iOS - Main 응답시에 NearDestination은 원래 사용자 위치기반으로 가까운 여행지를 보여줘야 하지만 우선 데이터를 하드코딩함 (이미 협의되었던 내용) - 현재 데이터 시간을 Time 으로 지정해둬 00:00:30 이런식으로 가는데 괜찮을지, 30분으로 보내드릴지 -> 30분, 1시간 형태로 String으로 값 자체를 전달하기로 협의
-
주말동안 확인해야하는 내용
- Jdbc templete 학습
- repository인지 dao인지 확인
- connection을 해야되는지 확인
- query문 작성법 확인
-
iOS 의논할 사항 [16:00 회의 완료]
- form 데이터 가능 여부
- Search시에 priceRange를 Max랑 Min을 따로 주실 수 있는지
- 목업 데이터 약간 수정 (형식 확인 부탁)
-
만들 테이블
- User Table
- Wish List Table
- Hotel Table
- Reservation Table
- HeroBanner Table
- NearDestination Table
-
Entity 만들시 참고사항
- Room에 위도, 경도 값 표시
- 돈은 BigDecimal
-
DTO
- 위시리스트에 반환되는 값은 총액은 0
- 검색시에도 (기간이 포함되지 않을 경우) 0으로 보낸다.
Task
2 사용자는 위시리스트로 숙소를 담을 수 있어야 한다
(1) 위시리스트 보여주기
- 2-2 위시리스트 화면 이동 시 자신이 담은 위시리스트 숙소를 리스트 형태로 확인할 수 있어야 함
- request
GET /wishlists/{user_id}
- response
[{
hotel_id:,
title:,
img:,
price:,
rate:,
}]
...
(2) 하트 비활성화로 위시리스트 목록에서 삭제
- request
DELETE /wishlists/{hotel_id}/{user_id}
- 2-5 숙소 찾기 결과에서 위시리스트로 활성화된 하트를 다시 누르면 위시리스트에서 지워져야 함
- 2-6 숙소 상세 화면에서 위시리스트로 활성화된 하트를 다시 누르면 위시리스트에서 지워져야 함
- 2-7 위시리스트 화면 안에서 활성화된 하트를 다시 누르면 위시리스트에서 지워져야 함
(3) 하트 활성화로 위시리스트 목록에 추가
- request
POST /wish-list/{hotel_id}/{user_id}
- 2-3 숙소 찾기 결과에서 하트를 누르면 위시리스트에 해당 숙소가 추가됨
- 2-4 숙소 상세 화면에서 하트를 누르면 위시리스트에 해당 숙소가 추가됨
6 사용자는 검색 결과로 자신이 원하는 조건에 해당하는 결과를 카드 리스트 형태로 확인할 수 있어야 한다.
- request `GET /hotels'
{ "location" : 위도경도값(@37.4686291,127.0185656,14z)
"check_in_date" : ,
"check_out_date" : ,
"price_max" : ,
"price_min" : ,
"adults" : ,
"children" : ,
"infants" :
}
- response
[{
hotel_id:,
title:,
img:,
price:,
total_price:,
rate:,
}]
8 사용자는 검색 결과 중 한 가지를 선택하면 선택한 것에 해당하는 숙소 상세 화면을 볼 수 있어야 한다.
- 2-8 위시리스트 화면에서 특정 숙소 선택 시 숙소 상세 화면으로 이동
- request
GET /wishlists/{hotel_id}
{
"hotel_id":,
"title":,
"host":,
"img":[],
"price":,
"location":,
"accommodation_type" : ,
"personnel_max" : ,
"arrangements" : "원룸, 침대 1개 , 욕실 1개",
"about_this_space" :
"rate":,
}
10 사용자가 예약하기 버튼을 누르면 조건 및 가격 정보를 포함하는 최종 예약 팝업뷰를 볼 수 있어야 한다.
- 예약하기
- request
POST /book/{hotel_id}/{user_id}
{
"check_in" :,
"check_out" :,
"personnel" :,
"total_price" :,
}
11 사용자는 자신이 예약한 숙소를 볼 수 있어야 한다.
- request
GET /book/{user_id}
- response
[{
"hotel_id":,
"title":,
"img":[],
"check_in" :,
"check_out" :,
"location":
}
...
]
12 사용자가 예약한 숙소를 선택하면 예약 정보를 담는 숙소 상세 페이지가 보이고, 예약 취소 버튼을 눌러 예약을 취소할 수 있어야 한다.
- request
DELETE /book/{hotel_id}/{user_id}