Skip to content

Commit

Permalink
Merge pull request #143 from Shimpyo-House/feature/readme-refactor
Browse files Browse the repository at this point in the history
docs: 리드미에 리팩토링 이후 추가된 기능 목차 추가
  • Loading branch information
JeongUijeong authored Dec 15, 2023
2 parents a06537a + 7368aa1 commit dd4cfd5
Showing 1 changed file with 171 additions and 6 deletions.
177 changes: 171 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@
- [💾 DB 설계](#-DB-설계)
- [📡 API 설계](#-API-설계)
- [4. CI/CD](#4-cicd)
- [5. 에러 해결](#5-에러-해결)
- [6. 회고](#6-회고)
- [7. API 문서](#7-API-문서)
- [5. 리팩토링 이후 추가된 기능](#5-리팩토링-이후-추가된-기능)
- [6. 에러 해결](#6-에러-해결)
- [7. 회고](#7-회고)
- [8. API 문서](#8-API-문서)

---

Expand Down Expand Up @@ -287,7 +288,171 @@ gradle bootJar
---

## 5. 에러 해결
## 5. 리팩토링 이후 추가된 기능
### 1. 즐겨찾기

#### ① 즐겨찾기 등록 기능

회원은 숙소를 즐겨찾기(찜) 할 수 있다.

#### ② 즐겨찾기 목록 조회 기능

회원은 본인이 즐겨찾기(찜) 한 숙소 목록을 조회할 수 있다.

페이지네이션이 가능하다.

#### ③ 즐겨찾기 취소 기능

회원은 숙소에 대한 즐겨찾기(찜)을 취소할 수 있다.

### 2. 숙소

#### ① 숙소 검색 시, 수용인원에 따른 검색 추가

숙소 검색 시, 숙박할 인원에 따른 숙소 검색이 가능해졌습니다.

#### ② 숙소 검색 시, 성수기, 비수기, 평일, 주말에 따라 가격 표시 다르게 조회

현재 날짜에 따라, 가격이 다르게 조회될 수 있게 변경했습니다.

#### ② 숙소 상세 검색 시, 성수기, 비수기, 평일, 주말에 따라 가격 표시 다르게 조회

현재 날짜에 따라, 가격이 다르게 조회될 수 있게 변경했습니다.

### 3. 예약 선점

#### ① 예약 선점 로직 수정

기존

- 예약 선점이 가능한지 검증
- 검증 결과가 true일 경우, 예약 선점 —> 선점한 레디스 키 만료기한 : ‘숙박 마지막일’ 일시
- 그러나 결제 완료되지 않거나, 브라우저 창을 닫는 경우 선점이 취소되야 합니다.

변경

- 예약 선점시 결제가 완료되지 않거나 브라우저가 종료된 경우,자동으로 선점이 취소될 수 있도록 만료기한을 30분으로 변경했습니다. → 예약 결제시 만료기한을 ‘숙박 마지막일’로 재설정하도록 수정

### 4. 예약 주문

#### ① 예약 주문 페이지에서 필요한 숙소/객실 정보 리스트 조회 API 추가

주문/결제 페이지에서 기존에 FE끼리 주고 받던 데이터를 백엔드에 요청해 조회하도록 API를 추가 구현했습니다.

#### ② 예약 주문 API Request Body 수정

예약 주문 API Request Body를 수정했습니다. (불필요한 요청값 제거 + 장바구니 식별자 필드(cartId) 추가)

#### ③ 예약 주문 로직에서 선점 레디스 키 만료기한 재설정 하도록 수정

기존의 예약 선점 서비스 로직이 변경됨에 따라 예약 주문 저장 로직이 변경되었습니다.

예약 저장 서비스 로직에서 선점했던 레디스 키의 만료기한을 ‘체크아웃’ 기한까지로 재설정합니다.

#### ④ 예약 주문 완료 시 예약 완료된 장바구니 아이템을 삭제하는 로직 추가

예약 주문 API Request Body에 cartId 정보를 추가로 받아 예약 주문 로직에서 정상적으로 예약이 저장된 경우 해당 장바구니 아이템을 삭제하는 로직을 추가 구현했습니다.

### 5. 별점

#### ① 별점 등록 가능 기한(만료기한) 검증 로직 추가

별점 등록 가능 기한을 체크아웃 이후 2주내로 제한한다는 요구사항이 추가됨에 따라 별점 등록시 등록이 가능한 기간인지 검증하는 로직을 추가했습니다.

---

### 4. Open API 추가 데이터 활용

#### ① 숙소 옵션, 부대시설 데이터 추가 활용

<details>
<summary>숙소 옵션</summary>
<div markdown="1">

- 개실 내 취사 여부
- 주차시설 여부
- 픽업 서비스 여부
- 식음료장
- 문의 및 안내
-
</div>
</details>

<details>
<summary>숙소 부대시설</summary>
<div markdown="1">

- 바비큐장 여부
- 뷰티시설 정보
- 식음료장 여부
- 자전거 대여 여부
- 캠프파이어 여부
- 휘트니스 센터 여부
- 노래방 여부
- 공동 샤워실 여부
- 공동 PC실 여부
- 사우나실 여부
- 스포츠 시설 여부
- 세미나실 여부

</div>
</details>


#### ② 객실 이미지, 옵션 데이터 추가 활용

<details>
<summary>객실 이미지</summary>
<div markdown="1">

- 객실 이미지 URL

</div>
</details>

<details>
<summary>객실 옵션</summary>
<div markdown="1">

- 목욕 시설 여부
- 욕조 여부
- 홈시어터 여부
- 에어컨 여부
- TV 여부
- PC 여부
- 케이블 설치 여부
- 인터넷 여부
- 냉장고 여부
- 세면도구 여부
- 소파 여부
- 취사 용품 여부
- 테이블 여부
- 드라이기 여부

</div>
</details>

<details>
<summary>객실 가격</summary>
<div markdown="1">

- 비수기 주중 최소 가격
- 비수기 주말 최소 가격
- 성수기 주중 최소 가격
- 성수기 주말 최소 가격

</div>
</details>

#### ③ 변경된 API

1. 숙소 전체 및 검색 조회 API 변경 (위와 같은 데이터가 추가 응답됩니다.)
2. 객실 조회 API 변경
3. 장바구니 조회 API 변경

---

## 6. 에러 해결

### 📌 주요 에러

Expand Down Expand Up @@ -372,7 +537,7 @@ gradle bootJar
> ![](src/main/resources/image/wrapper-error-2.png)
>
## 6. 회고
## 7. 회고
<details>
<summary>정의정</summary>
<div markdown="1">
Expand Down Expand Up @@ -433,7 +598,7 @@ gradle bootJar
</div>
</details>
## 7. API 문서
## 8. API 문서
※ Spring REST Docs로 문서화했습니다.
Expand Down

0 comments on commit dd4cfd5

Please sign in to comment.