-
Notifications
You must be signed in to change notification settings - Fork 80
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-16][BE][Yanse] AirBnB 프로젝트 1주차 PR#1 #8
Conversation
파트 폴더 생성
closes_#2
- 연관관계 기본 설정 완료 closes_#3
feat: 엔티티 만들기
closes_#5
chore: gitignore 추가
- 연관관계 매핑 수정 - room에 이미지 컬럼추가 및 main 도메인 생성 closes_#8
refactor: 엔티티 수정및 추가
chore: 환경변수 설정
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
안녕하세요. 우선 개발 진행하느라 수고 많으셨습니다 !!
초기 설계 단계라서 엔티티 관련하여 코멘트 남겼습니다. 추가로 ERD 관련하여 조금 더 부연 설명이 있었으면 더 빠르게 파악하기 좋았을 것 같아요~ (다음 PR에도 ERD 링크는 계속 걸어주세요.)
남은 기간도 화이팅입니다. 💪
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(코드 전반적으로) 초기 설계 단계에서 무조건적으로 오픈해놓고 시작하는 건 좋은 습관은 아닙니다. 객체 생성이 필요한 경우에만 사용해주세요..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
넵! 필요할때만 생성하는걸로 하겠습니다:)
@AllArgsConstructor | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
전체필드 생성자는 별도의 접근 제한이없고, 기본 생성자만 접근제한 레벨 설정한 이유가 있나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
전체필드는 처음 생성시 해당 애노테이션을 다른클래스에 붙여넣기를 하는 과정에서 모두 동일하게 되었습니다 해당 부분 신경쓰고 수정하겠습니다!
@@ -0,0 +1,50 @@ | |||
package yanse.airbnb.domain.hotel; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아래처럼 패키지도 패키지의 main table에 맞추는 것이 일관성있어 보입니다.
package yanse.airbnb.domain.hotel; | |
package yanse.airbnb.domain.room; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
클래스명 수정하면서 패키지명을 따로 신경쓰지 못했습니다ㅠ^ㅠ 해당 부분도 신경써서 수정하도록 하겠습니다!
|
||
private double stars; | ||
|
||
private int review; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이건 리뷰 갯수를 의미하는게 맞다면 review_count 네이밍은 어떤가요?
요구사항 밖으로 알고있지만 Room - Review 관계로 있고 Review 내부에 user, comment 등등 필드가 있도록 확장하는 경우가 있을 것 같아서요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 네이밍이 더 명확해보입니다! 앞으로도 좀 더 명확학 네이밍을 사용하도록 노력하겠습니당!
@Column(columnDefinition = "TEXT") | ||
private String description; | ||
|
||
private double stars; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이건 평점 필드로 보이네요. 뭔가 rate 또는 rating이라는 네이밍을 활용하면 좋을 것 같은 생각도 듭니다. 개인적으로는 특수한 케이스가 아니면 복수형 이름은 아래와 같은 상황때문에 지양하는 편입니다.
평점 목록 정보가 필요한 경우 네이밍을 어떻게 가져가야하는지..? starsList, stars 둘다 어색..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당부분도 위와같이 네이밍에 신경써서 구현하도록 하겠습니다!
@Embeddable | ||
public class RoomInfo { | ||
|
||
private String roomType; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
type 관련 필드는 enum으로 관리하는게 좋을 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
type관련 필드들이 나올경우 enum으로 관리해보도록 하겠습니다!
@AllArgsConstructor | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@Entity | ||
public class MainAroundImage { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이건 어떤 데이터를 담기위한 엔티티일까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
주변 여행지와 관련된 이미지 엔티티인데 해당 부분은 한 이미지 테이블에 타입으로 나눌 수 있도록 변경 할 예정입니다:-)
private Room room; | ||
|
||
@Column(updatable = false) | ||
private int reservationPeople; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
숙박인원 수 인가요? 네이밍 조금 더 고민해주시면 좋을 것 같아요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 부분 고민해보고 수정해보도록 하겠습니다 (totalPeople...?)
@AllArgsConstructor | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@Entity | ||
public class MainImage { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Image 관련 엔티티가 세개정도 있는 것 같은데요. 하나의 엔티티에서 관리하기는 적합하지 않은 데이터들인가요??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
생각해보니 하나의 엔티티에서 관리가 가능하여 해당 부분 수정할 예정입니다!
@OneToOne(fetch = LAZY) | ||
@JoinColumn(name = "wishlist_id") | ||
private WishList wishList; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Member와 WishList는 1:1관계인건가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 부분도 초기 엔티티 설계시 잘못 생각된 부분으로 Member와 WishList는 1:N 관계로 수정할 계획입니다!
@Column(length = 100, nullable = false) | ||
private String name; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
사람이름에 100자는 너무 길지 않을까요??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
복붙의 폐해입니다...해당 부분도 필드에 맞게 변경하도록 하겠습니다!
* feat: 이슈 템플릿 추가 * feat: PR 템플릿 추가 (#3) * [Chore] 프로젝트 초기 설정 (#4) * chore: 프로젝트 환경 설정 (#3) * chore: Eslint import plugin, 스토리북 설정 (#3) Co-authored-by: suuzin <suuzin@users.noreply.github.com> * [Feat] Header 레이아웃 구현 (#8) * design: ThemeProvider 설정 (#5) Co-authored-by: suuzin <suuzin@users.noreply.github.com> * feat: svg 설정, 아이콘 파일 추가 (#5) Co-authored-by: suuzin <suuzin@users.noreply.github.com> * feat: Icon 컴포넌트 생성 (#5) * feat: Navigation 생성 (#5) * feat: Header, Logo, MyPageButton 생성 (#5) * feat: 라우터 설치, 헤더 렌더링 (#5) Co-authored-by: suuzin <suuzin@users.noreply.github.com> Co-authored-by: dongkyu-park <81552729+dongkyu-park@users.noreply.github.com> Co-authored-by: suuzin <suuzin@users.noreply.github.com>
Contents - NSMutableAttributedString 이용 각 Text 값 다르게 setting - NSMutableAttributedString extension으로Setting함수 추가
Contents - MapCard 하트버튼 추가 Todo - 버튼 액션 추가
Contents - houseNameLabel,pricePerDayLabel 생성 - Layout설정 - 화면 크기에따라 imageView크기 수정
�[iOS] ViewController가 여행지 추천을 요청하면 Dummy 데이터를 받을 수 있음
[iOS] refactor: SearchVC vc 이동 수정
…oad-asset [Android] MVVM패턴 구현 및 Search, PlaceSearch 화면 구현
Entity - User - Accommodation - AccommodationInfo - AccommodationPrice - Review - Region Enum - AccommodationType (숙소 타입)
Entity - Accommodation (One) - AccommodationInfo (toOne) - AccommodationPrice (toOne) - Review (toMany)
application.yml - MySQL 연결을 위한 설정 파일 추가
* [Feat] 모달 구현 (#8) * docs: 템플릿 수정(리뷰반영) * refactor: config폴더내의 파일을 루트로 이동(리뷰반영) * build: react-refresh 추가 * feat: 모달 구현 * refactor: config폴더내의 파일을 루트로 이동(리뷰반영) * build: react-refresh 추가 * build: 빌드 수정 * build: webpack styled options 수정 * [feat] 캘린더 한 달 뷰 (#11) * feat: 현재 달의 calendar를 모달에 출력 * fix: calendar날짜가 마지막 일까지 출력되도록 수정 * refactor: 캘린더 뷰에 사용하는 상수를 파일로 분리 * [feat] 차트 레이아웃 시도 (svg, canvas) (#12) * Feat: svg 그래프 * Feat: canvas 레이아웃 - 선 그리는 로직 미완 * Chore: svgChart에서 plots 좌표값 관련 주석 작성 Co-authored-by: HongJungKim(이든) <58525009+HongJungKim-dev@users.noreply.github.com> Co-authored-by: khj <hongjung.kim.dev@gmail.com>
- @types/styled-components 설치 jindonyy/airbnb/#8
* [sally4405/#4] Fix: API 주소 수정으로 인한 테스트 실패 문제 해결 * [sally4405-#4] Feat: 위시리스트 삭제 기능 Mock API 구현 * [sally4405-#4] Feat: 위시리스트 저장 기능 Mock API 구현 * [sally4405-#4] Feat: 위시리스트 조회 기능 Mock API 구현 * [sally4405-#4] Feat: 예약 상세 조회, 예약 취소 기능 Mock API 구현 * [sally4405-#4] Feat: 예약 저장 기능 Mock API 구현 * [sally4405/#4] Refactor: 인기 여행지 조회 방식 변경 - Service 계층을 통해 반환하고 있던 인기 여행지 조회 API를 고정 데이터라고 판단하여 Controller에서 바로 반환하도록 변경 * [sally4405/#4] Feat: 특정 지역 숙소 요금 조회 개발 - 특정 지역의 모든 1박 요금과 1박 요금의 평균을 나타내는 API 추가 * [sally4405/#4] Feat: 숙소 상세 정보 조회 - controller를 통해 입력된 id를 통해 해당 숙소 상세 정보를 조회하는 API 추가 * [sally4405/#4] Feat: 숙소 예약 요금 상세 조회 - id와 체크인, 체크아웃 날짜, 총 인원 수를 통해 상세 예약 요금을 반환해주는 API 추가 * [sally4405/#4] Refactor: 숙소 예약 요금 상세 조회시 dto를 통해 입력 받도록 변경 - 체크인, 체크아웃 날짜와 총 인원 수를 dto에 담아서 받도록 변경 - check-in, check-out 자료형 String에서 LocalDate로 변경 * [sally4405/#4] Refactor: 통합테스트명 변경 * [sally4405/#4] Feat: 입력한 값에 맞는 모든 숙소를 조회 * [sally4405/#4] Feat: 통합테스트 추가 - Spring rest docs 생성을 위한 통합테스트 추가 * [sally4405/#4] Feat: LocalDate 형식 변경을 위한 어노테이션 추가 - API 스펙에 맞게끔 LocalDate 형식을 변경 * [sally4405/#8] Feat: 도메인 객체 개발 Co-authored-by: Louie-03 <dhdustnr0134@naver.com> * [sally4405/#8] Refactor: Mock API 수정 Co-authored-by: Louie-03 <dhdustnr0134@naver.com> * [sally4405/#8] Docs: Spring Rest Docs API 문서 추가 Co-authored-by: Louie-03 <dhdustnr0134@naver.com> Co-authored-by: seok <dhdustnr0134@naver.com>
* [Feat] 모달 구현 (#8) * docs: 템플릿 수정(리뷰반영) * refactor: config폴더내의 파일을 루트로 이동(리뷰반영) * build: react-refresh 추가 * feat: 모달 구현 * refactor: config폴더내의 파일을 루트로 이동(리뷰반영) * build: react-refresh 추가 * build: 빌드 수정 * build: webpack styled options 수정 * [feat] 캘린더 한 달 뷰 (#11) * feat: 현재 달의 calendar를 모달에 출력 * fix: calendar날짜가 마지막 일까지 출력되도록 수정 * refactor: 캘린더 뷰에 사용하는 상수를 파일로 분리 * [feat] 차트 레이아웃 시도 (svg, canvas) (#12) * Feat: svg 그래프 * Feat: canvas 레이아웃 - 선 그리는 로직 미완 * Chore: svgChart에서 plots 좌표값 관련 주석 작성 * build: react-refresh 추가 * [PR] 1주차 두번째 PR 리뷰 반영 (#14) * refactor: 관심사 분리를 고려하여 모달 리팩토링 응집성을 위하여 html에서 모달 태그 삭제, Portal 컴포넌트에서 해당 element 생성 * refactor: interface 네이밍 수정 컴포넌트 이름 + Props (ex.ComponentProps) * build: liveReload 기능 false처리 * [Feat] 캘린더 렌더링 로직 구현 (#17) * Feat: 캘린더 렌더링 * Chore: 캘린더 관련 주석 작성 * [Feat] 차트 그래프 기본 구현 (#18) * feat: 가격 범위 차트 그래프 렌더링 * refactor: 중복 스타일 mixin으로 분리 중복된 캔버스 컨테이너 스타일 분리 Co-authored-by: HongJungKim(이든) <58525009+HongJungKim-dev@users.noreply.github.com> Co-authored-by: khj <hongjung.kim.dev@gmail.com>
* docs: 템플릿 수정(리뷰반영) * refactor: config폴더내의 파일을 루트로 이동(리뷰반영) * build: react-refresh 추가 * feat: 모달 구현
- 각 Row에 해당하는 View와 ViewModel 구현 - HeadCountItemViewModel을 통해 CountLabel에 출력될 값과 Button의 enable 여부 조절 - HeadCountViewModel에 Button enable 조건검사 로직 구현 - StackView가 너무 많이 중첩되던 로직 간소화 jeremy0405/airbnb/#8
안녕하세요! Henry! Yanse(Yan & Hanse)입니다
첫 PR은 간단하게 프로젝트 세팅 및 엔티티 설계를 진행하였습니다!
앞으로 삼주간 잘 부탁드리겠습니다!🙇🏻
초기 ERD
진행완료
감사합니다🙇🏻