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

검색 결과 조회 Service 로직 구현 #14

Merged
merged 2 commits into from
May 25, 2022
Merged

검색 결과 조회 Service 로직 구현 #14

merged 2 commits into from
May 25, 2022

Conversation

bugpigg
Copy link
Collaborator

@bugpigg bugpigg commented May 25, 2022

📙 작업 내역

  • AccommodationService 작성
  • 검색 결과 조회 메서드 구현

📘 작업 유형

  • 신규 기능 추가

- AccommodationService 클래스 작성
- 숙소 검색 로직 설계. DB에는 체크인 날짜를 기준으로 한 번 접근하고, 이후에는 자바 코드로 필터링하도록 구현.
- 추후 JPA와 연동하여 설계 예정.
@bugpigg bugpigg added ⚙️BE backend label ✨feature new feature labels May 25, 2022
@bugpigg bugpigg linked an issue May 25, 2022 that may be closed by this pull request
2 tasks
@bugpigg bugpigg merged commit 95c6567 into BE May 25, 2022
@bugpigg bugpigg deleted the BE-feat-12 branch May 25, 2022 07:33
bugpigg added a commit to bugpigg/airbnb that referenced this pull request Jun 7, 2022
* docs: README.MD 프로젝트 안내 내용 추가

* [#3] Feat: 스프링부트 프로젝트 초기 설정

* build : 스타일링 관련 초반 세팅

material 페키지 설치
globalStyle 설정
아이콘, 배경 다운로드

* Build: 폰트와 관련된 theme 설정 추가

* build : app.js에 themeProvider, GlobalStyles 적용

* build : index.css 삭제

* Bulid: react-router-dom 설치

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

* Style: 사용하지 않은 파일 import 경로 삭제

* Feat: 라우터 적용

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

* Refact: 라우터와 관련된 컴포넌트를 파일로 분리

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

* 컨트롤러 레이어 초기 구현 (street62#11)

* [#4] Feat: 숙소 검색 결과 반환 컨트롤러 생성

- 숙소 검색 쿼리 파라미터를 받아 해당하는 숙소의 검색 결과를 반환하는 컨트롤러를 생성하였습니다.

* [#4] Feat: 숙소 검색 결과 반환 DTO 생성

- 숙소 검색 결과 DTO 를 생성하였습니다.

* [#4] Feat: 숙소 예약 폼 반환 컨트롤러 작성

- AccommodationController의 getReseverForm() 메서드로 숙소 예약 폼 반환.

* [#4] Feat: 숙소 예약 폼 Response DTO 작성

- ReserveFormResponseDto를 작성해 숙소 예약 폼 GET 요청 시 반환되는 DTO 작성.

* [#4] Feat: 숙소 예약 컨트롤러 작성

- AccommodationController의 postReservation() 메서드로 숙소 예약 요청.

* [#4] Feat: 숙소 예약 Request DTO 작성

- ReserveRequestDto를 작성해 숙소 예약 POST 요청시 DTO 역할을 수행.

* [#4] Fix: 숙소 검색 결과 반환 컨트롤러 수정

- 기존의 SearchQueryResponseDto 객체로 Response를 반환하던 형식을, SearchQueryResponseDto 리스트 형식으로 반환하게 수정.

* [#4] Fix: 숙소 예약 폼 반환 컨트롤러 수정

- 반환형 제너릭 DTO 수정.

Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>

* Build: 린트 설정 추가
- plugin:react/jsx-runtime 추가

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

* Refactor: MUI의 CssBaseline, ThemeProvider 적용

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

* Build: Svg 파일 import를 위한 custom.d.ts 파일 생성

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

* Design/Feat: 헤더 UI 구현 및 result 페이지의 일부 기능 추가
- result 페이지의 미니 서치바를 클릭하면 큰 서치바로 변함

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

* Feat : 서치바에서 마우스 나갈 시 미니 서치바로 바뀌는 기능 구현

* Feat : 각 항목당 모달 생성

* 검색 결과 조회 Service 로직 구현 (street62#14)

* [street62#12] Feat: 숙소 검색 Service 로직 설계

- AccommodationService 클래스 작성
- 숙소 검색 로직 설계. DB에는 체크인 날짜를 기준으로 한 번 접근하고, 이후에는 자바 코드로 필터링하도록 구현.

* [street62#12] Feat: AccommodationRepository 클래스 추가

- 추후 JPA와 연동하여 설계 예정.

Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>

* 숙소 도메인 구현 (street62#17)

* [street62#13] Feat: Accommdation 도메인 추가

- Accommodation 도메인 클래스를 추가하였습니다.

* [street62#13] Fix: AccommodationService 오타 수정

- AccommodationService 클래스의 오타수정을 하였습니다.

* Design: 인원, 요금 모달창 구현
- 기능은 작동하지 않음
- 요금 범위 슬라이더는 아직 구현하지 않음

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

* 검색 요청 DTO 추가 및 쿼리 파리미터 DTO 매핑 (street62#21)

* [street62#18] Feat: 검색 요청 DTO 추가

SearchQueryRequestDto 추가.

* [street62#18] Refactor: 쿼리 파라미터를 SearchQueryRequestDto로 매핑

@ModelAttribute를 사용해 검색 시 들어오는 쿼리 파라미터를 Dto로 바로 매핑.
이전에 Map<String, String>으로 받아 자료형 변환하던 코드를 삭제함.

* [street62#18] Feat: 리퀘스트 DTO 추가에 따른 SearchQueryResponseDto 변경

of() 메서드를 추가해 서비스에서 Accommodation을 응답 DTO로 변환할 수 있도록 함.

* [street62#16] Feat: 체크인, 체크아웃 날짜 사이에 이용 가능한 숙소 검색 메서드 추가 (street62#22)

findByDateBetween() 추가

* 리팩토링 (street62#24)

* [street62#23] Style: DTO 클래스 코드 포맷팅 수정

- DTO 클래스의 코드 포맷팅을 수정하였습니다.

* [street62#23] Style: AccommodationController 클래스의 코드 포맷팅 수정

* [street62#23] Refactor: 서비스 및 레포지토리 클래스 리팩토링

- AccommodationService 클래스 코드 포맷팅 수정 및 예약 날짜 필터링 로직 추가하였습니다.
- AccommodationRepository 클래스 코드 포맷팅 및 정의한 findByDateBetween() 메서드를 제거하였습니다. 이는 자바 코드 기반으로 예약 날짜를 필터링하게 수정하였기 때문입니다.

* [street62#23] Refactor: Accommodation 도메인 클래스 리팩토링

- Accommodation 클래스에 예약 날짜 필터링 메소드 추가 및 코드 포맷팅을 수정하였습니다.

* [street62#23] Refactor: PeopleConstraint 클래스 추가

- 기존의 Map 컬렉션으로 관리되었던 수용인원 정보에 대하여,PeopleConstraint 클래스를 통해 관리되도록 리팩토링 하였습니다.

* Design: 메인 페이지의 이미지 추가

* Design: location.pathname에 따라 헤더의 position 변경

* Style: 테스트코드 삭제

* Design: 헤더 스타일 일부 수정
- 서치바의 배경색 추가
- PriceModal을 display: none으로 설정

* Style: html의 lang을 ko로 변경

* Refactor: 헤더의 메뉴 태그를 MUI의 Link로 변경

* Refactor: 로고와 마이페이지 버튼 개선
- 로고를 클릭하면 메인페이지로 이동
- 마이페이지 아이콘들을 버튼 태그안에 넣음

* Build: material-ui 제거 후 MUI 재설치

* Design: 이미지 위치 조정

* Refactor: aria-label 추가

* Accommodation 위도/경도 필드 수정 (street62#27)

* Refactor: 각 숙소별 위도, 경도 값의 자료형 double 로 변경

* Refactor: SearchQueryResponseDto 에 위도, 경도값 추가

* 리뷰어님의 코멘트 반영 (street62#30)

* Refactor: 검색 결과 GET 메서드 {query} 삭제

PathVariable이 아닌 쿼리 파라미터로 들어오는 값을 ModelAttribute 애노테이션으로 매핑하므로 해당 내용 불필요.

* Refactor: ReserveRequestDto Setter 삭제 및 생성자 추가

@requestbody로 객체 매핑하므로 Setter는 불필요.
생성자를 통해 객체와 매핑할 수 있도록 함.

* Refactor: SearchQueryResponseDto 생성자 추가 및 of() 메서드 수정

AllArgsConstructor 추가하여 모든 매개변수를 받는 생성자를 두고,
of() 메서드에서 빌더를 호출해 DTO 객체를 반환하도록 함.

* Refactor: REST API 컨벤션에 맞게 URL 수정

- AccommodationController 의 매핑 URL 을 REST API 컨벤션에 맞게 수정하였습니다.

* Refactor: Reservation 객체 생성을 통한 Accommodation 리팩토링

- Reservation 객체를 생성하여 체크인, 체크아웃 날짜를 관리하게 하였습니다.

Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>

* Feat: Reservation 클래스 추가

- Accommodation 엔티티의 체크인, 체크아웃 날짜를 관리하는 Reservation 클래스 추가

* Feat: 전체 숙소의 가격 반환하는 API 구현 (street62#32)

전체 숙소의 가격을 List<Integer>로 반환하는 API 구현
리포지토리 로직은 @query 애노테이션으로 모든 숙소의 1박 가격 컬럼을 SELECT 해 오는 방식으로 구현함.

* 도메인 관련 클래스 JPA 엔티티로 수정 및 새로운 엔티티 추가 (street62#36)

* Feat: 도메인 객체 JPA 엔티티로 변환

기존의 Accommodation, Reservation을 JPA 엔티티로 변환.

* Feat: User 엔티티 객체 추가

Reservation의 예약자를 의미하는 User 엔티티 객체 추가.
Reservation - User는 단방향 N:1 관계로 Reservation에서 JoinColumn을 통해 연관관계 관리.

* Feat: Reservation 누락된 필드 추가

Reservation 객체의 필드를 ERD와 비교하여 누락된 부분 추가.

Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>

* 숙소 검색 서비스 로직을 DB 쿼리문으로 변경 (street62#38)

* Feat: AccommodationRepository 검색 메소드 추가

- AccommodationRepository 에 입력된 검색 조건에 따라 검색을 수행하는 메소드를 추가하였습니다.

* Feat: AccommodationService search() 메소드 로직 수정

- 기존의 자바 코드 기반으로 검색을 수행하던 로직을, DB의 쿼리 기반으로 로직을 수행하게 변경하였습니다.

* Refactor: Accommodation 코드 포맷팅 수정

- 실수로 대괄호가 하나 들어가 있어 삭제하였습니다.

* [Team22][FE]1주차 금요일 pr (street62#98)

* Refactor: PR 리뷰를 바탕으로 코드 수정
- 모달창 경로 수정
- styled-components와 mui 구분
- 그 외는 리뷰 참고

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

* [FE] result페이지 UI 구현 (street62#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 관련 수정 (street62#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>

* Refactor: 엔티티 애노테이션 순서 통일 (street62#42)

Lombok 애노테이션부터 생성자 - getter 순서로.
이후에는 JPA @entity 애노테이션으로 이어지도록 수정.

Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>

* Dto, 레포지토리, 엔티티 관련 수정 (street62#46)

* Fix: Accommodation mappedBy 수정, 최대인원 합계 메서드 추가

- mappedBy 속성에 reservation 엔티티에서 해당하는 필드인 accommodation으로 값 수정.
- 검색 response DTO에 사용할 최대인원 합계 반환 메서드 작성.

* Refactor: Accommodation 필드 변경으로 인한 Builder 호출 메서드 변경

Accommodation 필드 구성 변경에 맞는 값을 반환하는 메서드를 빌더에서 호출하도록 변경.

* Refactor: SearchQueryRequestDto 수정

- 날짜 매핑을 위해 @DateTimeFormat 을 SearchQueryRequestDto 에 추가하였습니다.

* Refactor: User 엔티티 클래스 이름 수정

- User 가 MySQL 예약어이기에, 엔티티 이름을 Member 로 변경하였습니다.

* Refactor: 검색 조회 쿼리 수정

- 기존의 검색 조회 쿼리가 작동하지 않아, 수정하였습니다.

Co-authored-by: bugpigg <bugpigg@gmail.com>

* 숙소 예약 페이지 GET API 구현 (street62#51)

* feat: AccommodationController에 숙소 예약 페이지 반환 메소드 추가

- AccommodationController에 숙소 예약 페이지 반환 메소드를 추가하였습니다.

* Feat: AccommodationService에 숙소 예약 페이지 반환 메소드 추가

- AccommodationService에 숙소 예약 페이지 반환 메소드를 추가하였습니다. Accommodation 엔티티의 id 컬럼을 활용하여 DB에서 해당 숙소의 정보를 조회하고 관련 DTO를 생성하여 컨트롤러 레이어로 반환합니다.

* Feat: ReserveFormResponseDto에 정적 팩토리 메소드 추가

- ReserveFormResponseDto에 Accommodation 객체를 받아 ReserveFormResponseDto 객체를 생성하는 정적 팩토리 메소드를 추가하였습니다.

* [BE] 숙소 예약 페이지 POST API 구현 (street62#54)

* Feat: MemberRepository 클래스 추가

Member 엔티티의 DB 접근 계층인 MemberRepository 클래스를 추가했습니다.

* Feat: ReservationRepository 추가

Reservation 엔티티의 DB 접근 계층인 ReservationRepository 클래스를 추가.

* Refactor: ReserveRequestDto 필요 필드 추가

Reservation을 생성하는 데에 필요한 필드들을 추가로 선언함.

* Refactor: Reservation builder 추가

* Feat: 예약 POST API 구현

컨트롤러에서 AccommodationService 계층의 generateNewReservation() 메서드를 호출해 새 예약을 생성해 DB에 저장하도록 함.

* [BE] 숙소 예약 페이지 GET API 수정 (street62#55)

* Refactor: DiscountPolicy id 필드 수정 및 Getter 추가

- 기존 `long`타입이던 id 필드를 `Long` 타입으로 수정하였습니다.
- DiscountPolicy 에 Getter 롬복 어노테이션을 추가하였습니다.

* Feat: ReserveFormResponseDto 에 discountRate 필드 추가

- ReserveFormResponseDto 에 discountRate 필드를 추가하였습니다.

* [BE] 코드 리팩토링 (street62#57)

* Feat: 예외처리 핸들러 클래스 및 사용자 정의 예외 추가

- 예외처리 핸들러 클래스 및 사용자 정의 예외를 추가하였습니다.

* Feat: 예외 Response DTO 클래스 추가

- 예외 발생시 반환되는 ErrorResponse DTO 클래스를 추가하였습니다.

* Feat: Member, Accommodation 엔티티 검색 실패 예외 추가 및 서비스 클래스에 반영

- MemberNotFoundException, AccommodationNotFoundException 클래스를 추가하였습니다.
- 추가한 예외들을 AccommodationService 클래스에 반영하였습니다.

* Refactor: 도메인 클래스 관련 폴더 구조 변경

- 도메인 클래스에 대하여 해당 도메인 클래스의 이름을 가지는 패키지 아래 위치하도록 변경하였습니다.

* Refactor: 서비스, 컨트롤러 메서드명 변경

서비스, 컨트롤러 계층의 메서드명을 명료하게 수정하였습니다.

Co-authored-by: bugpigg <bugpigg@gmail.com>

* [BE] 초기 데이터 dml.sql, ddl.sql 작성 및 스프링 프로필 설정 (street62#58)

* Feat: 스프링 프로필 설정파일 및 로그 설정 파일 추가

- 스프링 프로필 설정 파일인 application.yml 파일을 추가하였습니다.
- 로그 설정 파일인 logback-spring.xml 파일을 추가하였습니다.

* Feat: dml.sql 추가

- 초기 테스트용 더미 데이터 추가를 위한 dml.sql 파일을 추가하였습니다.

* AccommodationController의 RegisterReservation() 반환타입 변경 및 ReserveRequestDto의 날짜 매핑 어노테이션 추가 (street62#60)

* Fix: ReserveRequestDto의 날짜 매핑 어노테이션 추가

- 기존 날짜 매핑 어노테이션이 빠져 있어, ReserveRequestDto의 날짜 매핑 어노테이션을 추가하였습니다.

* Feat: AccommodationController의 RegisterReservation() 반환타입 변경

- 기존 HttpStatus를 반환하던 RegisterReservation() 반환타입을 ResponseEntity 로 수정하였습니다.

* Fix: 숙소 검색 쿼리 수정 (street62#63)

- 숙소 검색 쿼리가 구현한대로 동작하지 않아, 수정하였습니다.

* [FE] [Team-22/도비 & JS] 2주차 첫번째 PR (codesquad-members-2022#154)

* Refactor: PR 리뷰를 바탕으로 코드 수정
- 모달창 경로 수정
- styled-components와 mui 구분
- 그 외는 리뷰 참고

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

* [FE] result페이지 UI 구현 (street62#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 작성 (street62#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>

* [Team22][FE] 도비 & JS 2주차 금 PR (codesquad-members-2022#219)

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

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

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

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

* Feat: PriceContext와 PersonnelContext 구현

* Feat: Context 적용

* Design: Modal display 변경

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

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

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

* Feat : 달력 요일 구현

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

* 리뷰 적용중

* Fix: 클릭 이벤트 콜백 함수 타입으로 변경

* Fix: context에서 가져오는 state의 이름 변경

* 컨플해결중

* Refact : 컨플릭트 해결

* Refact : 피드백 적용

* Refact : periodContext 구조 변경, 월 변경 기능 수정

month만 전달하던 구조에서  Date 객체 전체를 전달하는 구조로  변경
해가 넘어 월 변경이 구현되게 수정

* Refact: 연도 변화 오류 해결

* Feat : 다음 달 달력  구현

* Feat : 달력 시작 요일 반영

* Feat : 클릭 이벤트 구현중

* [FE] 금액 차트 구현 (street62#72)

* Rename: 파일 이름 변경 및 폴더 이동

* Feat: Price와 관련된 mock데이터 생성 및 모달에 적용
- 천단위 숫자 구분을 위해 toLocaleString 헬퍼함수 구현

* Feat: 차트가 들어갈 캔버스 생성

* Feat: 곡선 차트 구현

* Style: 식을 변수로 분리, 변수 이름 변경

* Style: 객체의 키값 이름 변경

* Design: 범위 슬라이더 UI 구현 (미완성)

* Move: 파일 정리

* Refactor: 데이터의 범위 간격을 구하는 함수 수정

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

Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>
Co-authored-by: SeungHyun <fm10033@gmail.com>
Co-authored-by: jm <jm.dev.study@gmail.com>
Co-authored-by: 도비 <85747667+JiminKim-dev@users.noreply.github.com>
Co-authored-by: herrakam <herrakam@users.noreply.github.com>
Co-authored-by: HYUNJUN SON <55608425+guswns1659@users.noreply.github.com>
Co-authored-by: herrakam <54533561+herrakam@users.noreply.github.com>
bugpigg added a commit to bugpigg/airbnb that referenced this pull request Jun 10, 2022
* docs: README.MD 프로젝트 안내 내용 추가

* [#3] Feat: 스프링부트 프로젝트 초기 설정

* build : 스타일링 관련 초반 세팅

material 페키지 설치
globalStyle 설정
아이콘, 배경 다운로드

* Build: 폰트와 관련된 theme 설정 추가

* build : app.js에 themeProvider, GlobalStyles 적용

* build : index.css 삭제

* Bulid: react-router-dom 설치

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

* Style: 사용하지 않은 파일 import 경로 삭제

* Feat: 라우터 적용

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

* Refact: 라우터와 관련된 컴포넌트를 파일로 분리

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

* 컨트롤러 레이어 초기 구현 (street62#11)

* [#4] Feat: 숙소 검색 결과 반환 컨트롤러 생성

- 숙소 검색 쿼리 파라미터를 받아 해당하는 숙소의 검색 결과를 반환하는 컨트롤러를 생성하였습니다.

* [#4] Feat: 숙소 검색 결과 반환 DTO 생성

- 숙소 검색 결과 DTO 를 생성하였습니다.

* [#4] Feat: 숙소 예약 폼 반환 컨트롤러 작성

- AccommodationController의 getReseverForm() 메서드로 숙소 예약 폼 반환.

* [#4] Feat: 숙소 예약 폼 Response DTO 작성

- ReserveFormResponseDto를 작성해 숙소 예약 폼 GET 요청 시 반환되는 DTO 작성.

* [#4] Feat: 숙소 예약 컨트롤러 작성

- AccommodationController의 postReservation() 메서드로 숙소 예약 요청.

* [#4] Feat: 숙소 예약 Request DTO 작성

- ReserveRequestDto를 작성해 숙소 예약 POST 요청시 DTO 역할을 수행.

* [#4] Fix: 숙소 검색 결과 반환 컨트롤러 수정

- 기존의 SearchQueryResponseDto 객체로 Response를 반환하던 형식을, SearchQueryResponseDto 리스트 형식으로 반환하게 수정.

* [#4] Fix: 숙소 예약 폼 반환 컨트롤러 수정

- 반환형 제너릭 DTO 수정.

Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>

* Build: 린트 설정 추가
- plugin:react/jsx-runtime 추가

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

* Refactor: MUI의 CssBaseline, ThemeProvider 적용

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

* Build: Svg 파일 import를 위한 custom.d.ts 파일 생성

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

* Design/Feat: 헤더 UI 구현 및 result 페이지의 일부 기능 추가
- result 페이지의 미니 서치바를 클릭하면 큰 서치바로 변함

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

* Feat : 서치바에서 마우스 나갈 시 미니 서치바로 바뀌는 기능 구현

* Feat : 각 항목당 모달 생성

* 검색 결과 조회 Service 로직 구현 (street62#14)

* [street62#12] Feat: 숙소 검색 Service 로직 설계

- AccommodationService 클래스 작성
- 숙소 검색 로직 설계. DB에는 체크인 날짜를 기준으로 한 번 접근하고, 이후에는 자바 코드로 필터링하도록 구현.

* [street62#12] Feat: AccommodationRepository 클래스 추가

- 추후 JPA와 연동하여 설계 예정.

Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>

* 숙소 도메인 구현 (street62#17)

* [street62#13] Feat: Accommdation 도메인 추가

- Accommodation 도메인 클래스를 추가하였습니다.

* [street62#13] Fix: AccommodationService 오타 수정

- AccommodationService 클래스의 오타수정을 하였습니다.

* Design: 인원, 요금 모달창 구현
- 기능은 작동하지 않음
- 요금 범위 슬라이더는 아직 구현하지 않음

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

* 검색 요청 DTO 추가 및 쿼리 파리미터 DTO 매핑 (street62#21)

* [street62#18] Feat: 검색 요청 DTO 추가

SearchQueryRequestDto 추가.

* [street62#18] Refactor: 쿼리 파라미터를 SearchQueryRequestDto로 매핑

@ModelAttribute를 사용해 검색 시 들어오는 쿼리 파라미터를 Dto로 바로 매핑.
이전에 Map<String, String>으로 받아 자료형 변환하던 코드를 삭제함.

* [street62#18] Feat: 리퀘스트 DTO 추가에 따른 SearchQueryResponseDto 변경

of() 메서드를 추가해 서비스에서 Accommodation을 응답 DTO로 변환할 수 있도록 함.

* [street62#16] Feat: 체크인, 체크아웃 날짜 사이에 이용 가능한 숙소 검색 메서드 추가 (street62#22)

findByDateBetween() 추가

* 리팩토링 (street62#24)

* [street62#23] Style: DTO 클래스 코드 포맷팅 수정

- DTO 클래스의 코드 포맷팅을 수정하였습니다.

* [street62#23] Style: AccommodationController 클래스의 코드 포맷팅 수정

* [street62#23] Refactor: 서비스 및 레포지토리 클래스 리팩토링

- AccommodationService 클래스 코드 포맷팅 수정 및 예약 날짜 필터링 로직 추가하였습니다.
- AccommodationRepository 클래스 코드 포맷팅 및 정의한 findByDateBetween() 메서드를 제거하였습니다. 이는 자바 코드 기반으로 예약 날짜를 필터링하게 수정하였기 때문입니다.

* [street62#23] Refactor: Accommodation 도메인 클래스 리팩토링

- Accommodation 클래스에 예약 날짜 필터링 메소드 추가 및 코드 포맷팅을 수정하였습니다.

* [street62#23] Refactor: PeopleConstraint 클래스 추가

- 기존의 Map 컬렉션으로 관리되었던 수용인원 정보에 대하여,PeopleConstraint 클래스를 통해 관리되도록 리팩토링 하였습니다.

* Design: 메인 페이지의 이미지 추가

* Design: location.pathname에 따라 헤더의 position 변경

* Style: 테스트코드 삭제

* Design: 헤더 스타일 일부 수정
- 서치바의 배경색 추가
- PriceModal을 display: none으로 설정

* Style: html의 lang을 ko로 변경

* Refactor: 헤더의 메뉴 태그를 MUI의 Link로 변경

* Refactor: 로고와 마이페이지 버튼 개선
- 로고를 클릭하면 메인페이지로 이동
- 마이페이지 아이콘들을 버튼 태그안에 넣음

* Build: material-ui 제거 후 MUI 재설치

* Design: 이미지 위치 조정

* Refactor: aria-label 추가

* Accommodation 위도/경도 필드 수정 (street62#27)

* Refactor: 각 숙소별 위도, 경도 값의 자료형 double 로 변경

* Refactor: SearchQueryResponseDto 에 위도, 경도값 추가

* 리뷰어님의 코멘트 반영 (street62#30)

* Refactor: 검색 결과 GET 메서드 {query} 삭제

PathVariable이 아닌 쿼리 파라미터로 들어오는 값을 ModelAttribute 애노테이션으로 매핑하므로 해당 내용 불필요.

* Refactor: ReserveRequestDto Setter 삭제 및 생성자 추가

@requestbody로 객체 매핑하므로 Setter는 불필요.
생성자를 통해 객체와 매핑할 수 있도록 함.

* Refactor: SearchQueryResponseDto 생성자 추가 및 of() 메서드 수정

AllArgsConstructor 추가하여 모든 매개변수를 받는 생성자를 두고,
of() 메서드에서 빌더를 호출해 DTO 객체를 반환하도록 함.

* Refactor: REST API 컨벤션에 맞게 URL 수정

- AccommodationController 의 매핑 URL 을 REST API 컨벤션에 맞게 수정하였습니다.

* Refactor: Reservation 객체 생성을 통한 Accommodation 리팩토링

- Reservation 객체를 생성하여 체크인, 체크아웃 날짜를 관리하게 하였습니다.

Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>

* Feat: Reservation 클래스 추가

- Accommodation 엔티티의 체크인, 체크아웃 날짜를 관리하는 Reservation 클래스 추가

* Feat: 전체 숙소의 가격 반환하는 API 구현 (street62#32)

전체 숙소의 가격을 List<Integer>로 반환하는 API 구현
리포지토리 로직은 @query 애노테이션으로 모든 숙소의 1박 가격 컬럼을 SELECT 해 오는 방식으로 구현함.

* 도메인 관련 클래스 JPA 엔티티로 수정 및 새로운 엔티티 추가 (street62#36)

* Feat: 도메인 객체 JPA 엔티티로 변환

기존의 Accommodation, Reservation을 JPA 엔티티로 변환.

* Feat: User 엔티티 객체 추가

Reservation의 예약자를 의미하는 User 엔티티 객체 추가.
Reservation - User는 단방향 N:1 관계로 Reservation에서 JoinColumn을 통해 연관관계 관리.

* Feat: Reservation 누락된 필드 추가

Reservation 객체의 필드를 ERD와 비교하여 누락된 부분 추가.

Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>

* 숙소 검색 서비스 로직을 DB 쿼리문으로 변경 (street62#38)

* Feat: AccommodationRepository 검색 메소드 추가

- AccommodationRepository 에 입력된 검색 조건에 따라 검색을 수행하는 메소드를 추가하였습니다.

* Feat: AccommodationService search() 메소드 로직 수정

- 기존의 자바 코드 기반으로 검색을 수행하던 로직을, DB의 쿼리 기반으로 로직을 수행하게 변경하였습니다.

* Refactor: Accommodation 코드 포맷팅 수정

- 실수로 대괄호가 하나 들어가 있어 삭제하였습니다.

* [Team22][FE]1주차 금요일 pr (street62#98)

* Refactor: PR 리뷰를 바탕으로 코드 수정
- 모달창 경로 수정
- styled-components와 mui 구분
- 그 외는 리뷰 참고

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

* [FE] result페이지 UI 구현 (street62#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 관련 수정 (street62#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>

* Refactor: 엔티티 애노테이션 순서 통일 (street62#42)

Lombok 애노테이션부터 생성자 - getter 순서로.
이후에는 JPA @entity 애노테이션으로 이어지도록 수정.

Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>

* Dto, 레포지토리, 엔티티 관련 수정 (street62#46)

* Fix: Accommodation mappedBy 수정, 최대인원 합계 메서드 추가

- mappedBy 속성에 reservation 엔티티에서 해당하는 필드인 accommodation으로 값 수정.
- 검색 response DTO에 사용할 최대인원 합계 반환 메서드 작성.

* Refactor: Accommodation 필드 변경으로 인한 Builder 호출 메서드 변경

Accommodation 필드 구성 변경에 맞는 값을 반환하는 메서드를 빌더에서 호출하도록 변경.

* Refactor: SearchQueryRequestDto 수정

- 날짜 매핑을 위해 @DateTimeFormat 을 SearchQueryRequestDto 에 추가하였습니다.

* Refactor: User 엔티티 클래스 이름 수정

- User 가 MySQL 예약어이기에, 엔티티 이름을 Member 로 변경하였습니다.

* Refactor: 검색 조회 쿼리 수정

- 기존의 검색 조회 쿼리가 작동하지 않아, 수정하였습니다.

Co-authored-by: bugpigg <bugpigg@gmail.com>

* 숙소 예약 페이지 GET API 구현 (street62#51)

* feat: AccommodationController에 숙소 예약 페이지 반환 메소드 추가

- AccommodationController에 숙소 예약 페이지 반환 메소드를 추가하였습니다.

* Feat: AccommodationService에 숙소 예약 페이지 반환 메소드 추가

- AccommodationService에 숙소 예약 페이지 반환 메소드를 추가하였습니다. Accommodation 엔티티의 id 컬럼을 활용하여 DB에서 해당 숙소의 정보를 조회하고 관련 DTO를 생성하여 컨트롤러 레이어로 반환합니다.

* Feat: ReserveFormResponseDto에 정적 팩토리 메소드 추가

- ReserveFormResponseDto에 Accommodation 객체를 받아 ReserveFormResponseDto 객체를 생성하는 정적 팩토리 메소드를 추가하였습니다.

* [BE] 숙소 예약 페이지 POST API 구현 (street62#54)

* Feat: MemberRepository 클래스 추가

Member 엔티티의 DB 접근 계층인 MemberRepository 클래스를 추가했습니다.

* Feat: ReservationRepository 추가

Reservation 엔티티의 DB 접근 계층인 ReservationRepository 클래스를 추가.

* Refactor: ReserveRequestDto 필요 필드 추가

Reservation을 생성하는 데에 필요한 필드들을 추가로 선언함.

* Refactor: Reservation builder 추가

* Feat: 예약 POST API 구현

컨트롤러에서 AccommodationService 계층의 generateNewReservation() 메서드를 호출해 새 예약을 생성해 DB에 저장하도록 함.

* [BE] 숙소 예약 페이지 GET API 수정 (street62#55)

* Refactor: DiscountPolicy id 필드 수정 및 Getter 추가

- 기존 `long`타입이던 id 필드를 `Long` 타입으로 수정하였습니다.
- DiscountPolicy 에 Getter 롬복 어노테이션을 추가하였습니다.

* Feat: ReserveFormResponseDto 에 discountRate 필드 추가

- ReserveFormResponseDto 에 discountRate 필드를 추가하였습니다.

* [BE] 코드 리팩토링 (street62#57)

* Feat: 예외처리 핸들러 클래스 및 사용자 정의 예외 추가

- 예외처리 핸들러 클래스 및 사용자 정의 예외를 추가하였습니다.

* Feat: 예외 Response DTO 클래스 추가

- 예외 발생시 반환되는 ErrorResponse DTO 클래스를 추가하였습니다.

* Feat: Member, Accommodation 엔티티 검색 실패 예외 추가 및 서비스 클래스에 반영

- MemberNotFoundException, AccommodationNotFoundException 클래스를 추가하였습니다.
- 추가한 예외들을 AccommodationService 클래스에 반영하였습니다.

* Refactor: 도메인 클래스 관련 폴더 구조 변경

- 도메인 클래스에 대하여 해당 도메인 클래스의 이름을 가지는 패키지 아래 위치하도록 변경하였습니다.

* Refactor: 서비스, 컨트롤러 메서드명 변경

서비스, 컨트롤러 계층의 메서드명을 명료하게 수정하였습니다.

Co-authored-by: bugpigg <bugpigg@gmail.com>

* [BE] 초기 데이터 dml.sql, ddl.sql 작성 및 스프링 프로필 설정 (street62#58)

* Feat: 스프링 프로필 설정파일 및 로그 설정 파일 추가

- 스프링 프로필 설정 파일인 application.yml 파일을 추가하였습니다.
- 로그 설정 파일인 logback-spring.xml 파일을 추가하였습니다.

* Feat: dml.sql 추가

- 초기 테스트용 더미 데이터 추가를 위한 dml.sql 파일을 추가하였습니다.

* AccommodationController의 RegisterReservation() 반환타입 변경 및 ReserveRequestDto의 날짜 매핑 어노테이션 추가 (street62#60)

* Fix: ReserveRequestDto의 날짜 매핑 어노테이션 추가

- 기존 날짜 매핑 어노테이션이 빠져 있어, ReserveRequestDto의 날짜 매핑 어노테이션을 추가하였습니다.

* Feat: AccommodationController의 RegisterReservation() 반환타입 변경

- 기존 HttpStatus를 반환하던 RegisterReservation() 반환타입을 ResponseEntity 로 수정하였습니다.

* Fix: 숙소 검색 쿼리 수정 (street62#63)

- 숙소 검색 쿼리가 구현한대로 동작하지 않아, 수정하였습니다.

* [FE] [Team-22/도비 & JS] 2주차 첫번째 PR (codesquad-members-2022#154)

* Refactor: PR 리뷰를 바탕으로 코드 수정
- 모달창 경로 수정
- styled-components와 mui 구분
- 그 외는 리뷰 참고

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

* [FE] result페이지 UI 구현 (street62#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 작성 (street62#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>

* [Team22][FE] 도비 & JS 2주차 금 PR (codesquad-members-2022#219)

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

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

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

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

* Feat: PriceContext와 PersonnelContext 구현

* Feat: Context 적용

* Design: Modal display 변경

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

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

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

* Feat : 달력 요일 구현

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

* 리뷰 적용중

* Fix: 클릭 이벤트 콜백 함수 타입으로 변경

* Fix: context에서 가져오는 state의 이름 변경

* 컨플해결중

* Refact : 컨플릭트 해결

* Refact : 피드백 적용

* Refact : periodContext 구조 변경, 월 변경 기능 수정

month만 전달하던 구조에서  Date 객체 전체를 전달하는 구조로  변경
해가 넘어 월 변경이 구현되게 수정

* Refact: 연도 변화 오류 해결

* Feat : 다음 달 달력  구현

* Feat : 달력 시작 요일 반영

* Feat : 클릭 이벤트 구현중

* [FE] 금액 차트 구현 (street62#72)

* Rename: 파일 이름 변경 및 폴더 이동

* Feat: Price와 관련된 mock데이터 생성 및 모달에 적용
- 천단위 숫자 구분을 위해 toLocaleString 헬퍼함수 구현

* Feat: 차트가 들어갈 캔버스 생성

* Feat: 곡선 차트 구현

* Style: 식을 변수로 분리, 변수 이름 변경

* Style: 객체의 키값 이름 변경

* Design: 범위 슬라이더 UI 구현 (미완성)

* Move: 파일 정리

* Refactor: 데이터의 범위 간격을 구하는 함수 수정

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

* Feat: AWS 배포 환경 구축

- GitHub Action을 위한 yml 파일 추가
- AWS ec2 내부에서 활용할 도커 파일 추가
- AWS CodeDeploy 에서 필요한 appspec.yml 파일 추가
- scripts/deploy.sh 배포 스크립트 추가

* Feat: ReserveResponseDto 추가 (street62#67)

숙소 예약 POST 요청 시 HTTP 응답 바디에 상태코드와 메시지를 출력하기 위한 DTO 추가.
이후 해당 DTO를 반환하도록 컨트롤러와 서비스 계층 로직 수정.

* Fix: 숙소 검색 쿼리 수정 (street62#68)

- 체크인, 체크아웃 파리미터가 Null 인 경우에 대응하기 위해, 숙소 검색 쿼리를 수정하였습니다.

* Feat: 숙소 더미 데이터 dml.sql에 추가 (street62#71)

- 숙소 더미 데이터를 dml.sql 파일에 추가하였습니다.

* Fix: 테이블 이름 소문자로 변경 (street62#81)

- dml.sql 의 쿼리 속 테이블 이름을 모두 소문자로 변경
- AccommodationRepository 에서 명시적으로 호출된 테이블 이름 수정

* Feat: MySQL 의존성 추가 및 배포용 스프링 프로필 추가 (street62#82)

- MySQL 의존성을 build.gradle 파일에 추가하였습니다.
- 배포용 스프링 프로필을 추가하였습니다.

* [BE] AWS 배포 환경 구축  (street62#83)

* Feat: AWS 배포에 필요한 파일 추가

- AWS ec2 내부에서 활용할 도커 파일 추가
- AWS CodeDeploy 에서 필요한 appspec.yml 파일 추가
- scripts/deploy.sh 배포 스크립트 추가

* Feat: GitHub Action을 위한 yml 파일 추가

* Feat: 숙소 가격 구간별 리턴 기능 추가 (street62#86)

* [TEAM-22][FE] 도비 & JS 3주차 수요일 PR (codesquad-members-2022#273)

* Feat : 달력 클릭 이벤트 구현중

* Feat : 클릭시 서치바 날짜 변경, 선택된 날짜 표시 구현

* Fix: pr 리뷰 수정
- 파일명 변경
- 변수명 수정
- 텍스트 수정

* Refact : 2주차 금요일 리뷰 적용

* Merge branch 'dev-FE' of https://github.com/street62/airbnb into dev-FE

* Merge remote-tracking branch 'origin/53-fe-캘린더-구현' into dev-FE

* Feat : 지난 날짜 클릭 비활성화 구현

* Merge remote-tracking branch 'origin/53-fe-캘린더-구현' into dev-FE

* Feat : 버튼 클릭시 인원 변경

PersonnelContext reducer, usePersonnelDispatch 구현
PersonnelModal 클릭시 인원 변경되는 기능 구현

* [FE] 모금 슬라이더 구현 (street62#74)

* Design: 슬라이더 UI 구현

* Rename: 파일명 변경

* Feat: thumb를 움직이면 value가 업데이트 되도록 추가

* Fix: sliderValue와 관련된 state를 props로 받도록 수정

* Feat: 각 thumb들이 서로를 넘어가지 않는 기능 추가

* Style: 중복선언된 react import 제거

* Feat: 슬라이더 이동시 범위 밖의 영역을 회색으로 보이도록 하는 기능 구현

* Feat: 금액 차트에 devicePixelRatio 적용

* Feat: 범위에 따라 border-bottom의 색이 변경되는 기능 추가

* Feat: 슬라이더가 조정되면 요금 context의 state도 바뀌도록 구현

* Style: usePrice와 관련된 훅을 파일로 분리

* Feat: price reset 버튼 기능 구현

* Fix: 모달을 켠 상태에서 리셋버튼 클릭시 모달이 리렌더링 되도록 수정

* Feat : 모달 버튼 클릭시 서치바 텍스트 변경하는 기능 구현

* Feat: Period의 리셋 버튼 기능 구현

* Merge remote-tracking branch 'origin/73-fe-인원-모달-창-기능-구현' into dev-FE

* Feat: 어린이, 유아 인원 추가에 대한 기능 구현

* Style: 상대경로 수정

* Refact : 그래프 해상도 로직 변경

* Fix: a태그를 Link 컴포넌트로 변경

* Feat : 미니서치바 기간 문구 기간state로 변경

* Fix: InputButton의 period setText 로직을 서치버튼으로 이동

* Feat: 인원 리셋버튼 기능 추가

* Feat: result 페이지의 큰 서치바의 외부영역을 클릭하면 작은서치바로 돌아오는 기능 추가

* Feat : 날짜 입력 컨트롤,  텍스트 컨트롤 기능 구현

* Refact : header index.js htmlelement->node로 교체

* Feat: kakao map api 불러오기 성공

* Feat : 라이브러리 추가

* Feat: 로그인 모달 완성

* [FE] 숙소 예약 모달 기능 구현 (street62/airbnb/street62#85)

* Design: 일부 스타일 변경, Map의 z-index 임시로 조정

* Feat: 숙소 예약 모달 UI 구현

* Fix: 검색버튼을 클릭하면 모든 모달이 닫히도록 수정

* Fix: 숙소의 이미지나 이름을 클릭하면 예약 모달이 뜨도록 수정

* Style: 함수명 변경

* Style: 변수 이름 변경

* Fix: 서치바 모달과 예약 모달의 state 분리

* Fix: 날짜가 선택안됐을때 예약 모달에서 날짜 입력 텍스트를 보여주도록 수정

* [Fe] context의 hook 분리, 헤더 영역 밖 클릭 개선 (https://github.com/street62/airbnb/#87)

* Fix: 게스트가 0명이면 인원 선택 텍스트가 보이도록 수정 + 함수명 수정

* Style: 함수명 수정

* Style: PeriodContext에 있는 hook을 파일로 분리
- import 순서 변경

* Style: PersonnelContext의 hook을 파일로 분리

* Refactor: 헤더 외부 영역 클릭하는 로직 개선

* Design: z-index 수정

* Fix: 헤더 밖 영역을 클릭하면 큰 서치바의 모달이 닫히도록 구현

* Design: 예약 모달 백그라운드 너비 수정

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

* Refact : 3주차 수요일 pr 리뷰 적용

* [FE] PR 리뷰 받은거 수정하기 (https://github.com/street62/airbnb/#94)

* Fix: getElementById를 ref로 변경

* Fix: Price의 데이터를 usePriceState 외부로 분리

* Refactor: priceReducer 내부의 로직을 외부로 분리

* [FE] 필터에 해당하는 숙소 렌더링, 지도 마커 띄우기, 지도 드래그 활성화, 지도 줌인아웃 구현 (street62#95)

* Feat: 검색버튼 클릭시 필터에 해당하는 url로 이동하도록 구현

* Chore: axios 설치

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

* Feat: 검색 버튼을 클릭하면 해당하는 정보의 숙소를 렌더링한다.

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

* Fix: 유틸함수 makeDateString 수정

* Fix: 검색결과에 따른 필터 텍스트 설정

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

* Fix: url이 바뀌면 데이터가 다시 업데이트 되도록 수정

* Feat: 지도에 숙소에 대한 가격 마커 표시

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

* Feat: 지도 드래그 활성화 기능 및 줌인아웃 구현

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

* Fix: 요금 그래프의 데이터를 서버의 데이터로 교체

* Fix: Hotel 컴포넌트의 Title 데이터 변경

* Fix: GihubAction yml 파일 지도 관련 환경 변수 추가

* Fix: DockerFile 수정

* Fix: React 환경변수 관련 설정 추가

* Fix: 도커 파일 및 깃허브 액션 YML 파일 수정

Co-authored-by: 도비 <85747667+JiminKim-dev@users.noreply.github.com>
Co-authored-by: Senglee Choi <tmdfl1027@gmail.com>
Co-authored-by: SeungHyun <fm10033@gmail.com>
Co-authored-by: jm <jm.dev.study@gmail.com>
Co-authored-by: herrakam <herrakam@users.noreply.github.com>
Co-authored-by: HYUNJUN SON <55608425+guswns1659@users.noreply.github.com>
Co-authored-by: herrakam <54533561+herrakam@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚙️BE backend label ✨feature new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

검색 결과 조회 Service 로직 구현
2 participants