[PROJECT] AIRBNB CLONING #2

김기현·2022년 3월 26일
0

project_airbnb

목록 보기
2/6
post-thumbnail

초기세팅은 다음의 블로그에서 자세하게 다루었습니다.

모델링

클론코딩을 하기 위한 첫 단계, 데이터베이스 모델링!
사이트를 매의 눈으로 떠서 분석하고 또 분석하는 시간이었습니다.

모델 작성 #1

첫 번째 모델링의 결과!

Room을 기준으로 Photo, Roomtype을 엮고 Amenity, HouseRule, Facility를 연결하는 각각의 중간테이블을 만들었습니다. 그리고 Wishlist를 저장하고 연결하는 중간테이블을 만들고 해당 방의 Review를 연결하고 리뷰 때 연결할 사진 테이블을 만들었습니다. Reservation과 예약할 수 있는 각 날을 연결한 BookedDay라는 테이블을 만들었습니다.

피드백

명확성을 위해 테이블 명을 수정하고 Conversation은 Websocket 등을 활용하기 때문에 삭제하였습니다.
Amenity와 Facility는 성질이 비슷하기 때문에 하나로 묶는 대신에 anmenity_types를 연결해 1번은 Amenity, 2번은 Facility로 가져올 수 있도록 변경하였습니다.
Reservation 상태를 따로 빼고, 해당 방의 예약 가능 일정을 보관하는 Room_schedule 테이블을 따로 빼고, reservation_item을 통해 관리하도록 하였습니다.

모델 작성 #2

다음은 모델 최종본입니다.

기능은 크게 user, room,reservation, review으로 나뉩니다.

User app 관련 테이블

  • user
  • wishlist
  • wishlist_room

Room app 관련 테이블

  • room
  • room_images
  • room_types
  • room_amenities
  • amenities
  • amenity_types
  • houserules
  • room_houserules

Reservations app 관련 테이블

  • reservations
  • reservation_status
  • room_schedule
  • reservation_item

Review app 관련 테이블

  • reviews
  • review_images

총 17개의 테이블로 꾸렸습니다.

profile
피자, 코드, 커피를 사랑하는 피코커

0개의 댓글