-
마이리얼트립 클론 사이트
-
지원기능
- 회원가입 & 로그인: 카카오소셜로그인을 제공합니다.
- 숙소 리스트:
- 지역별, 편의시설, 등급, 숙소타입, 수용인원, 가격별 필터링기능
- 체크인 시간별 정렬기능을 제공합니다.
- 숙소 상세정보:
- 사용자가 선택한 날짜에 따른 예약가능한 방만 제공합니다.
- 호텔, 룸 별 상세 사진들을 제공합니다.
- 리뷰기능:
- 사진을 포함한 리뷰기능을 지원합니다.
- 예약기능:
- 예약시 별도의 핸드폰번호 입력을 요구합니다.
- 예약자 정보와 투숙객정보를 따로 관리합니다
- 개발 기간 : 2022-07-04 ~ 2022-07-15 (12일)
Language | Framwork | Database | Test | Deploy |
---|---|---|---|---|
Djago TestCase | AWS EC2 & RDS |
기능 | Method | Url | Query |
---|---|---|---|
회원가입 & 로그인 | Post | /users/signin | |
핸드폰 번호 변경 | Patch | /users | |
상품 리스트 | Get | /products | start_date, end_date, min_price, max_price, offset, limit, amenity, guest, |
상품 상세페이지(숙소 정보) | Get | /products/:id | start_date, end_date |
상품 상세페이지(룸 정보) | Get | /products/:id/rooms | start_date, end_date, min_guest |
상품 상세페이지(리뷰 정보) | Get | /products/:id/reviews | sort, newest, offset, limit,rating, has_image |
예약 페이지 | Get | /orders/reservations | room_id, start_date, end_date |
예약 페이지(예약 기능) | Post | /orders/reservations | |
리뷰 작성기능 | Post | /users/reviews | |
리뷰 삭제기능 | Delete | /users/reviews | review_id |
.
├── project
├── app (users, products, orders)
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ └── tests.py
├── core
├── my_settings.py
└── requirements.txt
- project
- Django에서 지원하는 기본 프로젝트 폴더입니다.
- app
- 3가지의 app파일을 가지고있습니다.
- users: 회원의 로그인과 리뷰를 관리합니다.
- products: 상품 리스트와 상세정보관련 상품에 대한 리뷰를 관리합니다.
- orders: 예약 기능을 관리합니다.
- core
- 모둘화 시켜놓은 파일들을 관리합니다.
- 추상 Model인 TimeStamp모듈
- AWS S3 & KakaoSocial과 같이 외부와 통신하는 모듈도 포함되어있습니다.
- my_settings.py
- 알고리즘, AWS 세팅, DB 세팅등의 노출하지 않을 파일들을 관리합니다.
- requirements.txt
- pip로 설치된 라이브러리들의 이름과 버전이 기재되어있습니다.
-
ERD 모델링
-
웹 서버 구축(AWS: EC2 & RDS)
-
회원가입/로그인 API
- KakaoAPI를 통한 소셜로그인 기능
- JWT를 이용하여 토큰 발급
-
상품 상세페이지 API
- 호텔, 룸, 리뷰 API
- 룸별, 호텔별 예약불가 기능
-
리뷰 기능 API
- S3 & Form Data를 이용한 이미지 업로드 기능
-
유저 핸드폰 번호 변경 API
- 카카오에서 받지 못한 정보를 예약시에 받아오는 형식으로 풀어냈습니다.
-
예약 기능(ReservationView)
- 예약자 정보와 투숙객 정보를 분리하여 관리
- validators moulde의 클래스화