Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Team-12][BE][동기&루이] - 요구사항 분석, API 설계, 프로젝트 초기 세팅 #33

Merged
merged 6 commits into from
May 25, 2022

Conversation

Louie-03
Copy link
Collaborator

@Louie-03 Louie-03 commented May 25, 2022

인사

  • 안녕하세요 왕민! 동기와 루이입니다.
  • 첫 번째 PR은 요구사항 분석, API 설계, 프로젝트 초기 세팅, 약간의 컨트롤러, Mock API와 통합테스트 구현을 하였습니다.
    앞으로 3주 동안 잘 부탁드립니다 🤩

개발 방식

  • 저희는 이번에 요구사항 분석과 API 설계를 마치고 평소와 다른 방식으로 개발을 했습니다.
  • 간략히 말씀드리면 컨트롤러와 Mock Service, 통합 테스트 구현을 반복하면서 개발했는데요, 이렇게 개발한 이유는 아래와 같습니다.
  • 먼저 컨트롤러와 통합 테스트를 구현한 이유는 설계한 API를 Spring Rest Docs를 통해서 빠르게 문서화 시킬 수 있었기 때문입니다.
  • Mock API Server를 제공하라는 요구사항이 있어서 Mock Service를 구현하면 좋을 것 같다는 생각을 했습니다.

질문

  • 이번 프로젝트 API 설계를 하면서 API URL을 정하는데 많은 고민을 하게 됐습니다. 아직 API 설계를 모두 끝마친 건 아니지만 저희가 설계한 api와 그 중에서도 API URL의 형식이 리뷰어님의 관점으로 보셨을 때 어떠한지 궁금합니다.

sally4405 and others added 6 commits May 23, 2022 10:48
- Spring Rest Docs를 이용한 해당 API 문서화

Co-authored-by: donggi-lee-bit <devdonggilee@gmail.com>
- Spring Rest Docs를 이용한 해당 API 문서화

Co-authored-by: donggi-lee-bit <devdonggilee@gmail.com>
- Spring Rest Docs를 이용한 해당 API 문서화

Co-authored-by: donggi-lee-bit <devdonggilee@gmail.com>
@Louie-03 Louie-03 requested a review from Min-92 May 25, 2022 08:20
@Louie-03 Louie-03 added the review-BE Improvements or additions to documentation label May 25, 2022
Copy link

@Min-92 Min-92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

안녕하세요 동기 루이.
이번 프로젝트 리뷰어 왕민입니다 반갑습니다 :)

코드는 아직 진행사항이 많지 않아서 전달주신 API 설계 문서 위주로 코멘트 드리겠습니다 :)

  • 메인 이미지 조회

메인 이미지는 클라이언트에서 하드코딩으로 사용해도 될 기능인데 API를 통해서 조회하도록 설계 하셨네요.

클라이언트에서 관리하는게 편리하긴 하지만, 이미지를 교체 해야 하는 경우 클라이언트 배포를 하지 않으면 변경하기 어려운 문제가 생길 수 있어요.

설계하신 것 처럼 be에서 관리하면 어드민을 통해서 쉽게 교체가 가능합니다. 💯

GET /main은 많이 사용되는 uri이긴 하지만, ios 요구사항에서 해당 영역이 '큐레이션 배너'이니 '/banners/**' 같은 URI도 좋을 것 같네요

  • 인기 여행지 조회

GET /popular-destinations 도 의미는 맞지만 확장성을 고려하면
GET /destinations/popular 같이 '목적지중에서 인기 목적지를 조회한다' 와 유사한 방식도 좋을듯 합니다 :)

목적지인지 여행지인지 네이밍도 고려해보세요 :)

  • 숙소 지역 검색

이 api는 '숙소 지역'이라기 보다는 '지역' 자동완성 기능으로 보이네요.
숙소 api와 분리해서 지역을 관리하는 api가 필요해 보입니다!
(이번 프로젝트 스펙이 어마무시 하네요)

  • 특정 지역 요금 조회

평균 1박, 모든 숙소 1박 요금 조회는 하나의 api로 사용 해도 좋을 것 같아요.
/accommodations/prices?*

respose : {
prices: [],
average: 0
}

  • 모든 숙소 조회

👍

  • 숙소 상세 정보 조회

👍

  • 예약하기

진행중~

이 외에 아래 API도 필요해 보이네요.
(예약 정보 조회, 예약 취소, 위시리스트 목록 등)

@RestController
public class MainController {

private static final String MAIN_IMAGE_URL = "https://user-images.githubusercontent.com/92966772/169965428-e12f898a-1f72-4510-8ddb-8086519366c0.PNG";
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

상수 네이밍 잘 사용해 주셨네요 👍

@Min-92
Copy link

Min-92 commented May 25, 2022

코멘트 드린 내용 확인해보시고 미션 계속 진행 해주세요.
PR은 머지하도록 하겠습니다 :)
앞으로 3주동안 잘 부탁드립니다. 화이팅 👍

@Min-92 Min-92 merged commit 1721c1b into codesquad-members-2022:team-12 May 25, 2022
@donggi-lee-bit
Copy link
Member

상세한 피드백 감사합니다.
피드백 받은 내용 반영하여 API 설계 계속 진행해보겠습니다!!!
좋은 하루 되세요 왕민!!! 🙇‍♂️🫡👍😆

SangHwi-Back pushed a commit that referenced this pull request May 27, 2022
junzero741 pushed a commit that referenced this pull request May 30, 2022
* Refactor: PR 리뷰를 바탕으로 코드 수정
- 모달창 경로 수정
- styled-components와 mui 구분
- 그 외는 리뷰 참고

Co-authored-by: herrakam <herrakam@users.noreply.github.com>

* [FE] result페이지 UI 구현 (#33)

* Design: 기존 스타일 수정
- 라우터에 따른 스타일 변경 추가

Co-authored-by: herrakam <herrakam@users.noreply.github.com>

* Design: Result 페이지 UI 구현

Co-authored-by: herrakam <herrakam@users.noreply.github.com>

* Rename: Hotel.tsx 파일 경로 이동

* Design: result 페이지의 숙소 리스트 컴포넌트와 일부 컴포넌트의 스타일 변경

* Design: Hotel 컴포넌트와 관련된 스켈레톤 UI 생성

* Refactoer: 서치바 리팩토링
- 각 컴포넌트를 공통된 스타일 컴포넌트로 변경
- 일부 태그 변경
- hover 이펙트 추가

Co-authored-by: herrakam <herrakam@users.noreply.github.com>

* Chore: dependencies 관련 수정 (#40)

- devDependencies에 설치된 스타일 라이브러리를 dependencies로 재설치함

Co-authored-by: jm <jm.dev.study@gmail.com>
Co-authored-by: herrakam <herrakam@users.noreply.github.com>
Co-authored-by: 도비 <85747667+JiminKim-dev@users.noreply.github.com>
guswns1659 pushed a commit that referenced this pull request May 31, 2022
- 각 조회용 레포지토리 추가
- Response add 메서드 및 리팩토링
choisohyun pushed a commit that referenced this pull request May 31, 2022
* Feature/3 (#26)

* rename: gnb 폴더 생성하여 관련 컴포넌트 이동
   - styled -> customStyled 로 변경 적용
* refactor: gnb 컴포넌트 css 수정
* feat: main banner UI 구현
* refactor: gnb 컴포넌트 hover 및 cursor pointer 적용

* Feature/2 (#27)

* chore: mui 버전 통일

* feat: 글로벌 스타일 추가

* feat: SearchBar 컴포넌트 style 작성 및 이벤트 추가

* Feature/alias (#28)

* chore: alias 경로 설정을 위한 react-app-rewired 설치 및 설정파일 생성
* refactor: 절대경로 반영 (index, app, gnb, main-banner)
* fix: search input width 고정

* Feature/4 (#29)

* feat: calender page component 구현
* feat: 달력 월~일요일 부분 컴포넌트 구현
* feat: 해당 연-월에 맞는 날짜 영역 컴포넌트 구현
* feat: 이전, 다음 버튼 컴포넌트 및 클릭 기능 구현
* feat: calender 컴포넌트 구현
   - 보여줄 달력 개수를 정하는 page 옵션
   - curData 기반으로 page 만큼의 달력 렌더링
* chore: 브라우저 확인용 App 에 calender 반영
* feat: calender 관련 상태 context 사용하여 분리 및 provider 컴포넌트 생성
   - 불필요한 주석 제거
* refactor: 컴포넌트 이름 변경, DatesOfMonth 에서 DateBox 컴포넌트 분리
* feat: DateBox 컴포넌트 구현
   - 클릭 시 checkIn, checkOut 상태 변경
   - checkIn, checkOut 날짜에 따라 동적 css 적용
* chore: 오타 수정, app.js 에 provider 적용

* feat: header 컴포넌트 생성
- gnb, search-bar, calender를 header 하위 컴포넌트로 수정

* Feature/30 (#32)

* refactor: 캘린더 체크인/체크아웃 모드와 date box 체크 위치 상태를 나타내는 문자열을 상수화
* refactor: 컴포넌트 별 데이터 가공 유틸 함수를 컴포넌트 밖으로 분리
* refactor: Date box 내부에 있던 날짜 비교용 checkInTime, checkOutTime 을 콘텍스트 provider 로 이동
   - checkInDate, checkOutDate 변수명 변경 -> checkInInfo, checkOutInfo
   - checkIn, checkOut, current 변수명 변경 -> checkInTime, checkOutTime, currentTime

* refactor: 캘린더 month 빈배열 생성 시 0 -> Null 로 변경

* Feature/31 (#33)

* refactor: 코드 리뷰 반영
- visibility 속성 display로 변경
- bool 타입 결과값 함수 중복 검사 제거
- SearchMenu 컴포넌트 div 태그로 변경

* feat & refactor: SearchBar 컴포넌트 컨텍스트 추가
- props로 내려주던 상태 context로 관리 하도록 함

* feat : 검색바 반응형 컴포넌트로 수정

* refactor: isFocus를 상태 관리에서 제외
- currentInput의 상태를 통해 얻을 수 있도록 함

* feat&refactor: Header 컴포넌트 반응형으로 수정
- GNB, MainBanner, SearchBar 모두 적용

* feat: 체크인, 체크아웃 인풋 영역 클릭 시 캘린더 모달 팝업 기능 추가

* feat: Header 컴포넌트 fixed 속성 추가

* feat: 모달창 클릭시 검색바 blur가 적용되지 않게 함

* Feature/34 (#36)

* feat: 체크인-체크아웃 사이 날짜 1일과 마지막일 전후 음영 반영
   - DatesOfMonth 컴포넌트 last date 월이 안맞는 오류 수정
     : getDate() 는 현재달 인덱스에 date 0을 주면 이전달 마지막날 반환
* feat: 현재 날짜 이전 날짜 선택 불가 및 회색 표시

* feat: 검색바 체크인, 체크아웃 날짜 출력 기능 추가 (#38)

* feat: 검색바 체크인, 체크아웃 날짜 출력 기능 추가
- 캘린더에서 선택한 날짜를 출력하도록 함

* Feature/20 (#40)

* refactor: ResetButton 동적으로 추가하도록 수정
- input요소의 value 유무에 따라 추가, 삭제

* feat: ResetButton 클릭 이벤트 추가
- 버튼 클릭시 input value 초기화
- 검색바가 포커스되어 있을 때만 버튼이 노출되도록 수정

* feat: 검색바 캘린더 체크인 체크아웃 상태 연동 (#41)

* fix: 포커스 이벤트 에러 수정
- ResetButton 포커스 시에만 노출되도록 수정
- 검색바 포커스 시 세로로 늘어나는 오류 수정

* fix: 캘린더 날짜 선택 오류 수정
- 체크아웃을 먼저 선택 후 체크인 선택 시 체크아웃보다 뒷날이어도 선택되는 오류 수정
- DateBox 컴포넌트 내 handle click 로직 수정

* feat: 캘린더 모달 선택 시 보여지는 달 업데이트
- 체크인 날짜 있는 경우 체크인 달로 시작
- 없는 경우 현재 달로 시작

* fix: 캘린더 토요일과 날짜 정렬

Co-authored-by: bangdler <90082464+bangdler@users.noreply.github.com>
Co-authored-by: bangdler <zbthz90@gmail.com>
junzero741 pushed a commit that referenced this pull request Jun 1, 2022
* Refactor: PR 리뷰를 바탕으로 코드 수정
- 모달창 경로 수정
- styled-components와 mui 구분
- 그 외는 리뷰 참고

Co-authored-by: herrakam <herrakam@users.noreply.github.com>

* [FE] result페이지 UI 구현 (#33)

* Design: 기존 스타일 수정
- 라우터에 따른 스타일 변경 추가

Co-authored-by: herrakam <herrakam@users.noreply.github.com>

* Design: Result 페이지 UI 구현

Co-authored-by: herrakam <herrakam@users.noreply.github.com>

* Rename: Hotel.tsx 파일 경로 이동

* Design: result 페이지의 숙소 리스트 컴포넌트와 일부 컴포넌트의 스타일 변경

* Design: Hotel 컴포넌트와 관련된 스켈레톤 UI 생성

* Refactoer: 서치바 리팩토링
- 각 컴포넌트를 공통된 스타일 컴포넌트로 변경
- 일부 태그 변경
- hover 이펙트 추가

Co-authored-by: herrakam <herrakam@users.noreply.github.com>

* Fix: PR 리뷰 반영
- InputState 네이밍 변경
- position의 타입 지정은 추후 수정하기

Co-authored-by: herrakam <herrakam@users.noreply.github.com>

* 가격, 요금, 인원에 대한 Context 작성 (#47)

* Feat : PeriodContext 구현, PeriodModal과 연결중

* Feat: PriceContext와 PersonnelContext 구현

* Feat: Context 적용

* Design: Modal display 변경

Co-authored-by: SeungHyun <fm10033@gmail.com>

* Feat: 각 영역 클릭시 모달 여닫는 기는 구현

* Feat : periodContext 로직 최신 날짜 반영으로 변경, modal에 적용

* Fix: 각 영역의 ID값으로 clickModal 함수를 실행하도록 수정

* Fix: 중복되는 함수를 Props로 받도록 수정

* Design : 달력 기본 레이아웃 구현

* Feat: 각 영역 클릭시 강조되는 효과 추가

* Feat : 화살표 클릭시 달 바뀌는 기능 구현

* Feat: 모달이 활성화되면 각 영역의 취소버튼이 보이도록 추가

* Feat : 달력 요일 구현

* Refact : 화살표 클릭시 달 변경 1월~12월 까지만 동작하게 변경

* Refactor: 재사용 가능한 컴포넌트로 분리

* Fix: id 속성을 dataset 으로 변경

* Refactor: ModalProvider 내부 함수를 useModal로 분리

* Style: 불필요한 주석 제거

* Fix: InputButton에 defaultProps 설정

* Style: 의미없는 매직넘버 제거

* Feat: 유저 메뉴와 관련된 컴포넌트 분리

* Refactor: pathname 처리 로직 수정

* Feat: 검색버튼 클릭시 result 페이지로 이동하도록 구현

Co-authored-by: herrakam <herrakam@users.noreply.github.com>
Co-authored-by: SeungHyun <fm10033@gmail.com>
wnsxor1993 added a commit that referenced this pull request Jun 3, 2022
choisohyun pushed a commit that referenced this pull request Jun 3, 2022
* Feature/3 (#26)

* rename: gnb 폴더 생성하여 관련 컴포넌트 이동
   - styled -> customStyled 로 변경 적용
* refactor: gnb 컴포넌트 css 수정
* feat: main banner UI 구현
* refactor: gnb 컴포넌트 hover 및 cursor pointer 적용

* Feature/2 (#27)

* chore: mui 버전 통일

* feat: 글로벌 스타일 추가

* feat: SearchBar 컴포넌트 style 작성 및 이벤트 추가

* Feature/alias (#28)

* chore: alias 경로 설정을 위한 react-app-rewired 설치 및 설정파일 생성
* refactor: 절대경로 반영 (index, app, gnb, main-banner)
* fix: search input width 고정

* Feature/4 (#29)

* feat: calender page component 구현
* feat: 달력 월~일요일 부분 컴포넌트 구현
* feat: 해당 연-월에 맞는 날짜 영역 컴포넌트 구현
* feat: 이전, 다음 버튼 컴포넌트 및 클릭 기능 구현
* feat: calender 컴포넌트 구현
   - 보여줄 달력 개수를 정하는 page 옵션
   - curData 기반으로 page 만큼의 달력 렌더링
* chore: 브라우저 확인용 App 에 calender 반영
* feat: calender 관련 상태 context 사용하여 분리 및 provider 컴포넌트 생성
   - 불필요한 주석 제거
* refactor: 컴포넌트 이름 변경, DatesOfMonth 에서 DateBox 컴포넌트 분리
* feat: DateBox 컴포넌트 구현
   - 클릭 시 checkIn, checkOut 상태 변경
   - checkIn, checkOut 날짜에 따라 동적 css 적용
* chore: 오타 수정, app.js 에 provider 적용

* feat: header 컴포넌트 생성
- gnb, search-bar, calender를 header 하위 컴포넌트로 수정

* Feature/30 (#32)

* refactor: 캘린더 체크인/체크아웃 모드와 date box 체크 위치 상태를 나타내는 문자열을 상수화
* refactor: 컴포넌트 별 데이터 가공 유틸 함수를 컴포넌트 밖으로 분리
* refactor: Date box 내부에 있던 날짜 비교용 checkInTime, checkOutTime 을 콘텍스트 provider 로 이동
   - checkInDate, checkOutDate 변수명 변경 -> checkInInfo, checkOutInfo
   - checkIn, checkOut, current 변수명 변경 -> checkInTime, checkOutTime, currentTime

* refactor: 캘린더 month 빈배열 생성 시 0 -> Null 로 변경

* Feature/31 (#33)

* refactor: 코드 리뷰 반영
- visibility 속성 display로 변경
- bool 타입 결과값 함수 중복 검사 제거
- SearchMenu 컴포넌트 div 태그로 변경

* feat & refactor: SearchBar 컴포넌트 컨텍스트 추가
- props로 내려주던 상태 context로 관리 하도록 함

* feat : 검색바 반응형 컴포넌트로 수정

* refactor: isFocus를 상태 관리에서 제외
- currentInput의 상태를 통해 얻을 수 있도록 함

* feat&refactor: Header 컴포넌트 반응형으로 수정
- GNB, MainBanner, SearchBar 모두 적용

* feat: 체크인, 체크아웃 인풋 영역 클릭 시 캘린더 모달 팝업 기능 추가

* feat: Header 컴포넌트 fixed 속성 추가

* feat: 모달창 클릭시 검색바 blur가 적용되지 않게 함

* Feature/34 (#36)

* feat: 체크인-체크아웃 사이 날짜 1일과 마지막일 전후 음영 반영
   - DatesOfMonth 컴포넌트 last date 월이 안맞는 오류 수정
     : getDate() 는 현재달 인덱스에 date 0을 주면 이전달 마지막날 반환
* feat: 현재 날짜 이전 날짜 선택 불가 및 회색 표시

* feat: 검색바 체크인, 체크아웃 날짜 출력 기능 추가 (#38)

* feat: 검색바 체크인, 체크아웃 날짜 출력 기능 추가
- 캘린더에서 선택한 날짜를 출력하도록 함

* Feature/20 (#40)

* refactor: ResetButton 동적으로 추가하도록 수정
- input요소의 value 유무에 따라 추가, 삭제

* feat: ResetButton 클릭 이벤트 추가
- 버튼 클릭시 input value 초기화
- 검색바가 포커스되어 있을 때만 버튼이 노출되도록 수정

* feat: 검색바 캘린더 체크인 체크아웃 상태 연동 (#41)

* fix: 포커스 이벤트 에러 수정
- ResetButton 포커스 시에만 노출되도록 수정
- 검색바 포커스 시 세로로 늘어나는 오류 수정

* fix: 캘린더 날짜 선택 오류 수정
- 체크아웃을 먼저 선택 후 체크인 선택 시 체크아웃보다 뒷날이어도 선택되는 오류 수정
- DateBox 컴포넌트 내 handle click 로직 수정

* feat: 캘린더 모달 선택 시 보여지는 달 업데이트
- 체크인 날짜 있는 경우 체크인 달로 시작
- 없는 경우 현재 달로 시작

* fix: 캘린더 토요일과 날짜 정렬

* Feature/15 (#42)

* refactor: 모달 배경 관련 스타일 별도 컴포넌트로 분리

* rename: custom-styled-component 폴더 utils 하위로 이동
- Header.js => Header.jsx 로 변경

* rename : calender 폴더 modal 하위 폴더로 이동
- 절대 경로 설정 및 적용

* refactor: ModalContainer 스타일 theme 사용 하도록 수정

* feat: Personnel 모달 컴포넌트 추가

* Feature/7 (#43)

* rename: context 폴더 분리
- provider 모두 context 폴더 하위로 이동

* feat: 인원 설정 모달 컨트롤러 버튼 컴포넌트 분리

* feat: 검색바 인원 상태 관리를 위한 관련 상수 추가

* feat: 검색바 인원 설정 모달 인원 추가, 인원 삭제 기능 추가

* feat: 검색바에 선택된 인원 출력 기능 추가 (#44)

* feat: 검색바에 선택된 인원 출력 기능 추가

* Feature/11 (#45)

* feat: 성인 없이 어린이, 유아 인원 추가 방지 기능 추가

* fix: 성인 인원을 줄일 수 없는 상황에 버튼 비활성화 색상 스타일 적용

* refactor: ResetButton 컴포넌트 onClick 핸들러 props로 받도록 수정

* feat: 인원 설정 초기화 기능 추가

* refactor&style: 중복코드 삭제, 줄띄움

* fix: 검색바 초기화 버튼 유무따라 크기가 변경되는 부분 수정
- 검색 버튼 아이콘 컬러 변경

* fix: 검색바 사이즈 줄면 초기화 버튼이 검색 버튼에 가리는 오류 수정

* Feature/46 (#47)

* refactor: 중복 코드 함수화, StyledExpandBackground 분기문
   - info 를 받아 time 으로 바꿔주는 함수
   - 체크인-체크아웃 사이에 있고, 1일이거나 마지막날일 경우에만 StyledExpandBackround 컴포넌트 생성

* feat: calender provider 에 prev date, next date 추가
   - 불필요한 useEffect 코드 제거

* feat: calender 컴포넌트에서 page 생성 부분을 calender carousel 컴포넌트로 이동
   - calender position 상태 생성

* chore: calender page width 수정(336 -> 350px)

* feat: 이전, 다음달 이동 버튼 로직 수정
   - curDate 를 직접 바꾸는 방식에서 calender position 만 바꿔주는 방식
   - calender position 에 따라 carousel에서 translateX 후 curDate 변경

* feat: Calender Carousel 컴포넌트 구현
   - prevDate, curDate, nextDate 기준으로 각각 Calender page wrapper 로 묶음
   - calender display 영역 내에서 moveArea 를 이동

* fix: 검색바 모달 관련 인풋창 아래에 나타나도록 위치 수정

Co-authored-by: bangdler <90082464+bangdler@users.noreply.github.com>
Co-authored-by: bangdler <zbthz90@gmail.com>
wooody92 pushed a commit that referenced this pull request Jun 5, 2022
CMSSKKK pushed a commit that referenced this pull request Jun 6, 2022
CMSSKKK pushed a commit that referenced this pull request Jun 6, 2022
- WishRepository 추가
- Review, Room, Reservation Repository 메서드 추가
CMSSKKK added a commit that referenced this pull request Jun 6, 2022
choisohyun pushed a commit that referenced this pull request Jun 12, 2022
* Feature/3 (#26)

* rename: gnb 폴더 생성하여 관련 컴포넌트 이동
   - styled -> customStyled 로 변경 적용
* refactor: gnb 컴포넌트 css 수정
* feat: main banner UI 구현
* refactor: gnb 컴포넌트 hover 및 cursor pointer 적용

* Feature/2 (#27)

* chore: mui 버전 통일

* feat: 글로벌 스타일 추가

* feat: SearchBar 컴포넌트 style 작성 및 이벤트 추가

* Feature/alias (#28)

* chore: alias 경로 설정을 위한 react-app-rewired 설치 및 설정파일 생성
* refactor: 절대경로 반영 (index, app, gnb, main-banner)
* fix: search input width 고정

* Feature/4 (#29)

* feat: calender page component 구현
* feat: 달력 월~일요일 부분 컴포넌트 구현
* feat: 해당 연-월에 맞는 날짜 영역 컴포넌트 구현
* feat: 이전, 다음 버튼 컴포넌트 및 클릭 기능 구현
* feat: calender 컴포넌트 구현
   - 보여줄 달력 개수를 정하는 page 옵션
   - curData 기반으로 page 만큼의 달력 렌더링
* chore: 브라우저 확인용 App 에 calender 반영
* feat: calender 관련 상태 context 사용하여 분리 및 provider 컴포넌트 생성
   - 불필요한 주석 제거
* refactor: 컴포넌트 이름 변경, DatesOfMonth 에서 DateBox 컴포넌트 분리
* feat: DateBox 컴포넌트 구현
   - 클릭 시 checkIn, checkOut 상태 변경
   - checkIn, checkOut 날짜에 따라 동적 css 적용
* chore: 오타 수정, app.js 에 provider 적용

* feat: header 컴포넌트 생성
- gnb, search-bar, calender를 header 하위 컴포넌트로 수정

* Feature/30 (#32)

* refactor: 캘린더 체크인/체크아웃 모드와 date box 체크 위치 상태를 나타내는 문자열을 상수화
* refactor: 컴포넌트 별 데이터 가공 유틸 함수를 컴포넌트 밖으로 분리
* refactor: Date box 내부에 있던 날짜 비교용 checkInTime, checkOutTime 을 콘텍스트 provider 로 이동
   - checkInDate, checkOutDate 변수명 변경 -> checkInInfo, checkOutInfo
   - checkIn, checkOut, current 변수명 변경 -> checkInTime, checkOutTime, currentTime

* refactor: 캘린더 month 빈배열 생성 시 0 -> Null 로 변경

* Feature/31 (#33)

* refactor: 코드 리뷰 반영
- visibility 속성 display로 변경
- bool 타입 결과값 함수 중복 검사 제거
- SearchMenu 컴포넌트 div 태그로 변경

* feat & refactor: SearchBar 컴포넌트 컨텍스트 추가
- props로 내려주던 상태 context로 관리 하도록 함

* feat : 검색바 반응형 컴포넌트로 수정

* refactor: isFocus를 상태 관리에서 제외
- currentInput의 상태를 통해 얻을 수 있도록 함

* feat&refactor: Header 컴포넌트 반응형으로 수정
- GNB, MainBanner, SearchBar 모두 적용

* feat: 체크인, 체크아웃 인풋 영역 클릭 시 캘린더 모달 팝업 기능 추가

* feat: Header 컴포넌트 fixed 속성 추가

* feat: 모달창 클릭시 검색바 blur가 적용되지 않게 함

* Feature/34 (#36)

* feat: 체크인-체크아웃 사이 날짜 1일과 마지막일 전후 음영 반영
   - DatesOfMonth 컴포넌트 last date 월이 안맞는 오류 수정
     : getDate() 는 현재달 인덱스에 date 0을 주면 이전달 마지막날 반환
* feat: 현재 날짜 이전 날짜 선택 불가 및 회색 표시

* feat: 검색바 체크인, 체크아웃 날짜 출력 기능 추가 (#38)

* feat: 검색바 체크인, 체크아웃 날짜 출력 기능 추가
- 캘린더에서 선택한 날짜를 출력하도록 함

* Feature/20 (#40)

* refactor: ResetButton 동적으로 추가하도록 수정
- input요소의 value 유무에 따라 추가, 삭제

* feat: ResetButton 클릭 이벤트 추가
- 버튼 클릭시 input value 초기화
- 검색바가 포커스되어 있을 때만 버튼이 노출되도록 수정

* feat: 검색바 캘린더 체크인 체크아웃 상태 연동 (#41)

* fix: 포커스 이벤트 에러 수정
- ResetButton 포커스 시에만 노출되도록 수정
- 검색바 포커스 시 세로로 늘어나는 오류 수정

* fix: 캘린더 날짜 선택 오류 수정
- 체크아웃을 먼저 선택 후 체크인 선택 시 체크아웃보다 뒷날이어도 선택되는 오류 수정
- DateBox 컴포넌트 내 handle click 로직 수정

* feat: 캘린더 모달 선택 시 보여지는 달 업데이트
- 체크인 날짜 있는 경우 체크인 달로 시작
- 없는 경우 현재 달로 시작

* fix: 캘린더 토요일과 날짜 정렬

* Feature/15 (#42)

* refactor: 모달 배경 관련 스타일 별도 컴포넌트로 분리

* rename: custom-styled-component 폴더 utils 하위로 이동
- Header.js => Header.jsx 로 변경

* rename : calender 폴더 modal 하위 폴더로 이동
- 절대 경로 설정 및 적용

* refactor: ModalContainer 스타일 theme 사용 하도록 수정

* feat: Personnel 모달 컴포넌트 추가

* Feature/7 (#43)

* rename: context 폴더 분리
- provider 모두 context 폴더 하위로 이동

* feat: 인원 설정 모달 컨트롤러 버튼 컴포넌트 분리

* feat: 검색바 인원 상태 관리를 위한 관련 상수 추가

* feat: 검색바 인원 설정 모달 인원 추가, 인원 삭제 기능 추가

* feat: 검색바에 선택된 인원 출력 기능 추가 (#44)

* feat: 검색바에 선택된 인원 출력 기능 추가

* Feature/11 (#45)

* feat: 성인 없이 어린이, 유아 인원 추가 방지 기능 추가

* fix: 성인 인원을 줄일 수 없는 상황에 버튼 비활성화 색상 스타일 적용

* refactor: ResetButton 컴포넌트 onClick 핸들러 props로 받도록 수정

* feat: 인원 설정 초기화 기능 추가

* refactor&style: 중복코드 삭제, 줄띄움

* fix: 검색바 초기화 버튼 유무따라 크기가 변경되는 부분 수정
- 검색 버튼 아이콘 컬러 변경

* fix: 검색바 사이즈 줄면 초기화 버튼이 검색 버튼에 가리는 오류 수정

* Feature/46 (#47)

* refactor: 중복 코드 함수화, StyledExpandBackground 분기문
   - info 를 받아 time 으로 바꿔주는 함수
   - 체크인-체크아웃 사이에 있고, 1일이거나 마지막날일 경우에만 StyledExpandBackround 컴포넌트 생성

* feat: calender provider 에 prev date, next date 추가
   - 불필요한 useEffect 코드 제거

* feat: calender 컴포넌트에서 page 생성 부분을 calender carousel 컴포넌트로 이동
   - calender position 상태 생성

* chore: calender page width 수정(336 -> 350px)

* feat: 이전, 다음달 이동 버튼 로직 수정
   - curDate 를 직접 바꾸는 방식에서 calender position 만 바꿔주는 방식
   - calender position 에 따라 carousel에서 translateX 후 curDate 변경

* feat: Calender Carousel 컴포넌트 구현
   - prevDate, curDate, nextDate 기준으로 각각 Calender page wrapper 로 묶음
   - calender display 영역 내에서 moveArea 를 이동

* fix: 검색바 모달 관련 인풋창 아래에 나타나도록 위치 수정

* Feature/15 1 (#49)

* feat: Price 컴포넌트 생성
- Title 컴포넌트 재사용을 위해 분리

* refactor: 검색바 블러 이벤트 대신 dim레이어 클릭 시 모달이 사라지도록 수정
- e.preventDefault 때문에 range input의 thumb가 움직이지 않아 수정

* feat: 요금 설정 모달 요금별 데이터 그래프 추가
- 임시 데이터 추가

* feat: 요금 범위 설정 슬라이더 추가

* chore: chart.js 설정 추가

* fix: MainBanner 이미지 연결 오류 수정

* feat: 요금 모달 세부 텍스트 출력

* feat: 검색바에 요금 상태 출력
- 초기화 버튼 이벤트 핸들러 추가

* fix: merge 후 모달창이 관련 인풋창 아래에 위치하지 않는 오류 수정

* refactor: 인원 모달 컨트롤 버튼 하나의 컴포넌트로 합침
- type으로 add, remove 구분하도록 props 추가

* refactor: calender Prev Button, Next Button 을 통합한 Calender Button 구현 (#50)

Co-authored-by: moon-yerim <75062526+moonyerim2@users.noreply.github.com>

* refactor: 모달창 클릭 시 닫히지 않도록 하는 기능 수정
- dim레이어 삭제
- Node.contains를 사용한 방법으로 수정

Co-authored-by: bangdler <90082464+bangdler@users.noreply.github.com>
Co-authored-by: bangdler <zbthz90@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review-BE Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants