Skip to content

dingwan0331/Fake-Trip-API

 
 

Repository files navigation

Fake Trip

  • 마이리얼트립 클론 사이트

  • 지원기능

    • 회원가입 & 로그인: 카카오소셜로그인을 제공합니다.
    • 숙소 리스트:
      • 지역별, 편의시설, 등급, 숙소타입, 수용인원, 가격별 필터링기능
      • 체크인 시간별 정렬기능을 제공합니다.
    • 숙소 상세정보:
      • 사용자가 선택한 날짜에 따른 예약가능한 방만 제공합니다.
      • 호텔, 룸 별 상세 사진들을 제공합니다.
    • 리뷰기능:
      • 사진을 포함한 리뷰기능을 지원합니다.
    • 예약기능:
      • 예약시 별도의 핸드폰번호 입력을 요구합니다.
      • 예약자 정보와 투숙객정보를 따로 관리합니다

📆 개발 기간

  • 개발 기간 : 2022-07-04 ~ 2022-07-15 (12일)

🧑🏻‍💻 함께한 개발자

🛠 협업 툴

사이트 시현 영상

데모 영상

기술스택

Language Framwork Database Test Deploy
Djago TestCase AWS EC2 & RDS

Project ERD

End-Point

기능 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

Directory Structure

.
├── 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의 클래스화

About

박민하, 정진관

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 100.0%