---
# System prepended metadata

title: 2020 05 19 (화)

---

# 2020 05 19 (화)

## 솔라

- 어제 한 일
    - 프로젝트 초기화
    - docker mysql 세팅
    - 요구사항 분석
- 오늘 할 일
    - 필요한 API에 대해서 FE랑 얘기
    - DB에 필요한 정보 정리
    - DB ERD 설계
    - DB에 넣을 데이터 찾아보기
- 컨디션
    - 어제 오랜만에 운동하고 꿀잠자서 개운하다 ㅎㅎ

## 에드

- 어제 한 일
    - 요구사항 분석
    - 애플워치 수리 맡기기
- 오늘 할 일
    - 리덕스 공부하고 수업듣기
    - 개발환경 구축하기
    - API 이야기하기
- 컨디션
    - 비가 그쳐서 좋다

## 리즈

- 어제 한 일
    - 에드와 요구사항 분석하고 구현 범위, 사용 기술에 대해 논의했어요.
    - 깃헙 이슈/PR 템플릿 추가 완료
    - api.. 무엇? 어떤 포맷으로 할지 고민해봤어요.
    - 크롱 면담!
- 오늘 할 일
    - api 팀원들과 논의
    - FE 수업 QnA
    - 구현범위 에드랑 추가 논의
    - 개발환경세팅?!
- 컨디션
    - 아침엔 피곤했는데 학원오니까 정신이 드네요ㅎㅎ

---


#### 필요 API

1. 최초 데이터 (GET)

    request
    ```
    BASE_URL
    ```
    
    response
    > 가격정보 미포함
    ```
    [
        {
            "id": 11,
            "name": "Charming house",
            "country": "미국",
            "rating": 4.9,
            "isSuperHost": true,
            "thumbnails": [
                "http://",
                "http://",
                "http://",
                "http://",
            ],
            "oneNightRate": { // 1박 가격
                "original": "50,000",
                "selling": "34,000"
            }
        }
    ]
    ```

2. 필터링 (GET)

    * 날짜 필터링이 없는 경우, response에서 요금에 대한 정보는 없음
    * 최저가, 최고가 필터링은 1박 selling 가격 기준으로 한다.
    
    request
    ```
    BASE_URL/search?checkin=2020-05-21&checkout=2020-05-23&adults=1&children=1&infants=1&priceMin=22599&priceMax=104727    
    ```

    response
    > 가격정보 포함 (1박 가격 & 각종 추가요금 & 수수료 다 더한 총가격)
    
    ```
    [
        {
            "id": 11,
            "name": "Charming house",
            "country": "미국",
            "rating": 4.9,
            "isSuperHost": true,
            "thumbnails": [
                "http://",
                "http://",
                "http://",
                "http://",
            ],
            "oneNightRate": { // 1박 가격
                "original": "50,000",
                "selling": "34,000"
            },
            "nights": 4, // 총 숙박일수
            "prices": { // 숙박 기간을 계산한 비용
                "accomdationRate": "124,000", // (1박 * 총 숙박일수)
                "cleaningFee": "6,600",
                "serviceFee": "13,500",
                "totalPrice": "144,100", // 총합
            }
        }
    ]
    ```

3. 숙소 예약 (POST)

    request
    ```
    BASE_URL/booking
   
   {
      "id": 123,
      "checkIn": "2020-05-21",
      "checkOut": "2020-05-23",
      "adults": 1,
      "children": 1,
      "infants": 1,
   }
   ```

    response
   ```
   {
       "result" : true,
   }
   ```
   
   

# 의논 사항

* 숙소 데이터
    * 100개 ~ 300개+
* 이미지
    * 최소 3 ~ 4개 이상
    * 이미지 정보는 한 번에 드리기
* 쿼리스트링 변수명 변경
    * price_min → priceMin, price_max → priceMax
* 전체 데이터중 제한적으로 초기 데이터를 50개 정도 넘겨주고, 필터링할 경우 필터링 조건으로 전체 데이터에서 검색해서 넘겨주기
* 로그인 기능 구현은 OAuth를 목표로 한다.
* ...

### 필요한 정보

* 검색 조건 : 날짜, 인원, 요금
* 숙소 데이터
  * 숙소 사진(대표사진, 그외 사진?), 숙소이름, 숙소게시글 제목, 간단한 설명 , 원가, 할인가, (총요금 - 서버 계산), 나라, 평점, 뱃지(슈퍼호스트)
  * 청소비, 서비스 수수료, 숙박세외 수수료 - 숙박날짜에 따라서 계산한 비용으로 넘겨주기
* 날짜를 하루만 입력받는 경우 → 무조건 최소 1박으로 날짜 정보를 넘겨받음

### 고민 사항

* 숙소 예약 시 가격 정보를 어떻게 넘길지
