Skip to content

part4-team9/global-nomad

Repository files navigation

🌍 GlobalNomad

1


🖍️ 프로젝트 소개

  • GlobalNomad는 여행을 더욱 특별하게 만들어줄 체험을 직접 등록하고 예약할 수 있는 플랫폼입니다.
  • 사용자는 6개의 카테고리 중에서 자신의 취향에 맞는 체험을 선택하고, 인기 체험 목록도 확인할 수 있습니다.
  • 각 체험의 상세 페이지에서는 해당 체험의 위치와 지도를 확인할 수 있습니다.
  • 체험 제공자는 체험을 등록하고, 예약을 승인하거나 거절하며 관리할 수 있습니다.
  • 체험이 끝난 후, 사용자는 직접 별점과 후기를 남길 수 있습니다.

✨ 팀원 소개

김혜경 유성진 은동혁 이은빈 홍서하

@i-nooo-2

@yubugi

@edhcoding

@eunbinnie

@hongseoha

🦖 기술 스택

Environment

Config

Development

Design

Deploy

Communication


🔍 페이지 구성

랜딩 페이지 로그인 페이지 회원가입 페이지
스크린샷 2024-09-03 175945 image image
메인 페이지 체험 상세 페이지 체험 등록/수정 페이지
image
image
image
image
image
image
사용자 프로필 카드
(프로필 수정)
내 정보 수정 페이지 예약 내역(후기 작성) 페이지
image
image
image
image
image
image
내 체험 관리 페이지 예약 현황 페이지 알림 기능
image image
image
image
image

📦 주요 기능 소개

⭐ 메인 페이지: 체험 검색, 필터 선택 및 인기 체험 노출
  • 이달의 인기 체험 BEST3를 이미지 배너로 보여주며, 최신순, 리뷰 많은 순, 가격 낮은 순, 가격 높은 순으로 필터를 통해 체험을 정렬할 수 있습니다.
  • 키워드 검색으로 원하는 체험을 쉽게 찾을 수 있습니다.
⭐ 상세 페이지: 체험 위치 지도 및 예약 기능
  • 체험 상세 페이지에서 지도를 통해 체험 위치를 확인할 수 있습니다.
  • 캘린더에서 날짜, 시간, 인원을 선택해 예약할 수 있으며, 선택한 시간에 이미 예약된 체험이 있는 경우 예약이 불가능합니다.
⭐ 체험 등록 및 수정 기능
  • 체험 상세 설명은 React Quill을 사용해 마크다운 형식으로 작성할 수 있습니다.
  • 스케줄 선택 시, 시작 시간이 종료 시간보다 늦으면 추가 버튼이 비활성화됩니다.
  • 이미지는 클릭 또는 드래그 앤 드롭 방식으로 등록할 수 있습니다.
⭐ 프로필 사진 수정
  • 사이드바의 사용자 프로필 카드에서 프로필 사진을 수정하거나 삭제할 수 있습니다.
⭐ 내 정보 수정: 비밀번호 재확인 기능
  • 내 정보 수정 페이지에 진입할 때, 사용자의 비밀번호를 재확인합니다. 비밀번호가 일치하면 정보 수정 폼을 확인하고 수정할 수 있습니다.
  • 내 정보 수정 페이지를 벗어날 경우 권한이 만료되며, 다시 비밀번호를 재확인해야 합니다.
⭐ 예약 내역: 확인, 취소 및 후기 작성 기능
  • 예약 내역을 무한 스크롤 방식으로 제공하며, 예약 상태에 따라 '예약 취소', '예약 승인', '체험 완료' 등의 필터로 내역을 확인할 수 있습니다.
  • 예약 신청된 건에 대해서만 예약 취소가 가능하며, 체험 완료 후 후기를 작성하지 않은 경우에만 후기를 작성할 수 있습니다. 후기를 작성한 후에는 수정이나 삭제가 불가능합니다.
⭐ 내 체험 관리: 확인, 취소 및 후기 작성 기능
  • 사용자가 등록한 체험 리스트를 무한 스크롤로 제공하며, 각 체험에 대해 수정 및 삭제가 가능합니다.
  • 대기 혹은 승인 값이 있는 체험의 경우 삭제가 불가능하도록 제한합니다.
⭐ 예약 현황: 확인 및 승인, 거절 기능
  • 각 체험에 대한 예약 신청, 승인, 완료된 건을 달력에서 한눈에 확인할 수 있습니다.
  • 예약 신청이 있는 날짜를 클릭하여 해당 예약을 승인하거나 거절할 수 있습니다.
  • 하나의 예약 신청을 승인하면 나머지 예약 신청은 자동으로 거절됩니다.
⭐ 알림 기능
  • 예약 거절, 승인 등 요청 응답에 따라 사용자에게 알림을 보내 알려줍니다.
  • 확인한 알림의 경우 확인 처리가 되어 알람 리스트의 최하단으로 이동합니다.

📂 폴더 구조

global-nomad
 ┣ app
 ┃ ┣ (route)
 ┃ ┣ _components
 ┃ ┣ _constants
 ┃ ┣ _hooks
 ┃ ┣ _libs
 ┃ ┣ _mocks
 ┃ ┣ _stores
 ┃ ┣ _types
 ┃ ┣ _utils
 ┃ ┣ error.tsx
 ┃ ┣ layout.tsx
 ┃ ┣ not-found.tsx
 ┃ ┣ page.tsx
 ┃ ┗ providers.tsx
 ┣ public
 ┗ styles