기능상세명세서 - TEAM-PROJECT-ACC/trip-at-five-client GitHub Wiki

기능상세정의서 v2

작성자 김규형

메인페이지

검색 창

  • 검색의 키워드 기본값빈 문자열로 설정한다.
  • 검색창 하단에 위치한 지역 추천의 8개의 버튼 존재
    • 지역 추천 기준 임의의 8개의 시 단위 지역
  • 검색의 예약 일정 날짜 기본값오늘 날짜 기준 1박으로 설정한다.
  • 검색의 인원수 기본값2명으로 설정한다.
  • 검색된 키워드ACCOMMODATION_TBACCOM_ADDR 혹은 ACCOM_NAME 의 값에 포함되는지로 조건을 설정한다.
  • 캘린더 라이브러리를 사용하여 날짜를 선택할 수 있고 X박 Y일 값을 계산해서 날짜와 함께 버튼 텍스트로 설정한다.
    • 현재 날짜를 기준으로 지난 날짜는 예약할 수 없도록 막도록 설정한다.

로그인/회원가입

  • 회원/관리자만 로그인할수 있다.

  • 소셜로그인은 카카오,구글,네이버 세가지를 지원하며 로그인할수 있다

  • 비밀번호재설정, 회원가입을 할수 있다.

    로그인

    • 로그인은 아이디 비밀번호 입력후 로그인 버튼을 클릭해 유효성 검사후
      성공시 : 메인페이지로 이동시킨다.
      실패시 : 알람창으로 "실패했습니다" 표시한다.

    • 소셜로그인은 해당 버튼이 있어 클릭시 로그인 요청 처리한다.

      • 첫 로그인 시도시 자동 가입 처리후 로그인 처리한다.

    회원가입

    • 각 입력창을 정상적으로 처리하면 다음 입력창으로 이동한다.

      • 회원가입은 이메일, 비밀번호, 닉네임, 전화번호, 생년월일, 주소 입력한다.

      • 이메일은 중복체크 하며 알림창으로 성공/실패 여부를 표시하며 다음클릭시 이메일 인증페이지로 이동한다.

      • 닉네임은 추천버튼이 있어 클릭시 중복되지 않는 닉네임을 표시한다.

      • 닉네임은 다음버튼클릭시 중복 처리 하며 결과를 닉네임 입력칸 아래에 해당 결과 표시 중복시 닉네임이 중복됩니다.
        미중복시 사용가능한 닉네임입니다.

      • 이메일 인증코드 정상적으로 될시 회원가입 처리하며 완료시 회원가입 완료페이지로 이동하며 로그인 버튼 클릭시 로그인페이지로 이동한다.

    비밀번호 재설정

    • 비밀번호를 변경할수 있다.
      • 이메일 인증 처리 완료후 비밀번호를 재설정할수 있다.

숙박

숙박 목록 페이지

  • 숙소 목록 10개 항목 이상 항목은 페이징처리로 관리한다
  • 검색을 다시하고 싶은 경우 목록 위에 검색창에 다시 검색한다
  • 검색 필터
    • 필터링 : 가격, 편의시설, 숙소 유형으로 체크박스을 클릭하면 해당되는 숙소가 필터링되서 목록을 보여준다(바로바로 반영)
  • 조회되는 조건 : 숙소 목록
    • 가격 높은 순으로 목록의 항목을 표시
    • 해당 클릭 시 해당 숙소 상세 페이지로 이동
  • 지도 보기 (실제 지도가 아닌 시각적 효과만 주기 위해 사용되는 지도 스타일의 이미지[모형], Map Placeholder) 이미지 고정
    • 확대 버튼을 클릭 시 현재 검색어를 기준으로 지도가 나온다
    • 필터 항목(지역명, 가격, 편의시설)
      • 지역명: 라디오 타입으로 하나만 선택
      • 가격 : 범위는 사용자 입력(범위내 숙소만 검색) 최소가와 최대가를 입력받아 조절함
      • 편의시설 : 편의시설 체크박스로 설정해 중복 체크 가능(여러 항목)

숙박 상세 페이지

  • 숙박업체의 대표 이미지를 상세 페이지 메인이미에 표시한다.
    • 아래 버튼을 클릭 시 대표 이미지 하단에 반투명한 이미지 영역을 띄워서 해당 숙소의 여러 사진 목록을 배치한다
    • 4장 이상의 사진은 옆으로 스크롤 또는 버튼로 보여지게 한다
    • 해당 사진을 클릭하면 대표 이미지 영역을 해당 사진으로 변경
  • 지도 정보(API를 활용해 지도 정보를 보여준다)
    • 확대 버튼 클릭 전 : 지도에 마크를 찍은 상태의 숙소 위치를 대략적으로 보여준다
    • 확대 버튼 클릭 후 : 숙소 위치를 확대된 지도에 마크해서 정확한 위치를 파악할 수 있게 한다
    • 지도API 활용하면 축소 버튼 추가됨
  • 평점 정보 미리보기
    • 최근 해당 숙소의 후기와 평점을 1개만 보여준다
    • 해당 영역 클릭 시 앵커링크를 통해 이용 후기 목록이 있는 하단으로 이동
  • 숙박업체 편의시설
    • 해당 숙소가 가지고 있는 편의시설을 보기쉽게 아이콘+텍스트을 활용해 보여준다
  • 객실 목록
    • 장바구니 담기 아이콘 클릭 시 장바구니에 담긴다
    • 객실 예약 버튼 누르면 해당 객실 정보를 가지고 예약페이지로 이동
  • 이용 후기
    • 평균 평점은 후기 작성의 평점을 평균 낸 결과를 별점으로 표시
    • 이미지 클릭 시 모달창으로 이미지 목록 출력
    • 이미지 최대 개수 : 5개
    • 후기 등록 버튼
      • 이용한 회원 : 후기 등록 페이지로 이동 후 후기 작성
      • 이용하지 않은 회원 : 예약 여부를 묻는 알림창
      • 비회원 : 로그인 페이지로 이동
  • 상세 정보 : 일반 텍스트로 해당 숙소의 정보를 출력

예약/결제

  • 예약정보 : 숙박업소명, 숙박업소이미지, 객실명, 일정, 기준인원, 객실가격
  • 일정은 상태관리 라이브러리를 통해 전역적으로 저장되어 있는 값을 출력한다.
  • 이메일인증, 예약자 정보(예약자명, 예약자전화번호, 쿠폰)를 입력받는다.
    • 인증메일에 있는 인증코드와 입력한 인증코드가 동일할 경우 인증 완료처리한다.
    • 쿠폰 등록 시 쿠폰의 값에 따라 총 결제 금액에서 차감한다.
  • 이메일인증이 완료된 후에 예약 결제 버튼이 활성화되도록 처리한다.

최종 예약 정보

분류 데이터
회원 예약자이메일, 예약자명, 예약자전화번호
객실 객실번호, 일정(체크인/아웃 날짜), 기준인원

예약상태는 COMPLETED, 예약생성일은 오늘날짜

  • 결제 완료 시 영수증 페이지로 이동한다.
    • 영수증 페이지에서 확인 버튼 클릭 시 메인 페이지로 이동한다.

마이페이지

  • 마이페이지 메인에서는 회원의 정보, 현황(챌린지,예약내역,이용내역) 하위 메뉴가 보여야한다
  • 표시되는 회원의 정보는 회원닉네임, 회원이메일, 경험치 진행도 , 레벨이다
  • 챌린지,예약내역은 가장 최근 항목 2개만 표시되며
    더보기 버튼을 클릭시 각 상세내역 페이지로 이동할수 있도록 한다.
  • 표시가 되는 하위메뉴는 회원정보 수정, 쿠폰조회,예약 정보 조회, 챌린지,다이어리, 문의하기 이다.
표시되는 메뉴 상세 정보
회원정보 닉네임,이메일.경험치 진행바, 레벨
현황 챌린지, 예약내역, 이용내역
하위메뉴 회원정보 수정/탈퇴, 쿠폰조회, 예약 조회, 챌린지, 다이어리, 문의하기

회원 정보 수정/탈퇴

  • 회원의 정보수정과 탈퇴가 가능해야 한다.

  • 일반회원과 소셜로그인의 정보 수정이 달라야 한다.

    공통 부분

    • 정보 수정 버튼을 클릭시 각 입력창에 입력된 정보가 수정되며 정보수정 페이지에 그대로 유지된다.

    • 비활성화 버튼 클릭시 모달창에 비밀번호를 입력하여 탈퇴가 가능하며
      비밀번호가 틀릴경우 알림창을 이용하여 "비밀번호가 틀립니다."표시하며
      성공시에는 "변경되었습니다." 메시지 출력후
      정보수정 페이지에 그대로 유지된다..

    • 메인에서 보여지는 하위메뉴, 회원의 정보가 동일하게 표시되어야한다.

    • 닉네임, 전화번호, 회원주소는 회원구분없이 수정 된다.

    • 닉네임 수정시 중복체크를 클릭하여
      중복시 입력창 아래에 "닉네임이 중복됩니다" 텍스트 표시
      미중복시 "사용 가능한 닉네임입니다"**` 텍스트 표시

    • 닉네임은 추천 버튼을 이용하여 중복되지 않는 닉네임을 닉네임 입력칸에 표시 될수 있어야 한다

    • 전화번호는 xxx-xxxx-xxxx 형태로 입력된다.

    • 회원주소는 텍스트로 입력된다.

    일반회원

    • 이메일은 도메인포함 100글자로 제한한다.
    • 비밀번호는 30자로 제한하며 영문자,숫자,특수문자만 입력 가능하다

    • 닉네임은 최대 50자로 제한하며, 한글,영문,숫자는 사용 가능하나 특수문자는 허용하지 않는다.

    • 생년월일은 19940506 처럼 8자로 표시한다.

    • 표시되는 정보는
      이메일, 중복체크버튼, 이메일 인증번호 입력칸, 인증확인버튼,
      비밀번호, 비밀번호 확인, 닉네임, 닉네임 중복체크 버튼,
      생년월일, 소셜 로그인 (혹 일반 로그인) 로고,
      정보수정 버튼, 비활성화 버튼

    • 이메일 수정시 중복체크를 클릭하여
      중복시 입력창 아래에 "이메일이 중복됩니다" 텍스트 표시
      미중복시에는 "사용가능한 이메일입니다" 텍스트 표시 이후
      이메일 인증을 버튼 클릭하여 인증을 진행한다.

    • 비밀번호는 입력후 비밀번호 확인 입력간
      미일치시에는 비밀번호 확인 입력칸 아래에 "비밀번호가 미일치합니다" 텍스트표시
      일치시에는 "비밀번호가 일치합니다" 텍스트 표시

    • 일반회원은 소셜로그인 항목에 우리만의 로고가 표시된다.

    소셜 회원

    * 소셜 로그인으로 입력한 유저는 소셜로그인 항목에 해당 소셜 계정의 로고가 표시된다.

쿠폰 조회

  • 보유하고 있는 쿠폰목록이 표시되어야 한다.

    • 메인에서 보여지는 하위메뉴, 회원의 정보가 동일하게 표시되어야한다.

    • 쿠폰은 한페이지에 최대 4개만 보여야 한다.

    • 쿠폰 보유량에 따라 페이징 처리가 되어야한다.

    • 쿠폰에 표시되는 정보는 쿠폰이름, 번호, 가격사용 버튼이다.

    • 쿠폰 사용 버튼 클릭시 알람창이 표시되며 "쿠폰을 사용하십니까?"
      텍스트가 표시되며 확인을 클릭시 메인페이지로 이동시키고 취소 클릭시 현 페이지를 그대로 유지한다.


예약정보 조회

  • 내 예약 정보는 최근 날짜 기준으로 10개의 항목씩 출력하고 초과데이터는 페이징 처리한다.

  • 예약취소는 상태에 따라 확인되어야한다.

    • 비회원은 별도의 예약조회 페이지가 존재 한다.

    • 비회원은 이메일, 이메일인증, 예약코드로 통해 조회된다.

    • 메인에서 보여지는 하위메뉴, 회원의 정보가 동일하게 표시되어야한다.
    • 해당 항목을 클릭 시 해당 숙박시설 상세페이지로 이동한다.
    • 이용 후기는 클릭시 해당 숙박업소의 이용후기 작성 페이지로 이동한다.

    • 예약에 표시되는 정보는 객실메인이미지, 예약상태, 예약 숙박업소명과 객실이름,
      예약 날짜, 예약코드, 예약자명, 예약자 전화번호, 예약취소버튼, 이용후기 버튼이다.

    • 예약 취소 요청 시 확인 알림창을 띄워 알림창의 예약취소 버튼을 클릭 후 예약취소요청처리를 한다

예약취소 상태

상태 텍스트 버튼 상태 숙박업소명 우측 텍스트
기본 상태 예약취소 활성화
취소요청중 상태 요청취소 활성화 예약 취소 요청 처리중...
취소요청처리완료 상태 취소완료 비활성화 예약취소완료
요청없이 예약날짜 지난 상태 이용완료 비활성화 후기 작성하고 혜택받기
  • 예약 상태가 COMPLETED이고 CHECK_OUT_DT 컬럼 값 기준 7일 이내일 경우 이용후기작성 버튼을 활성화한다.

다이어리

  • 비회원을 제외한 회원만 사용 가능하다.

  • 작성했던 일지 목록이 최근날짜 기준 10개 단위로 조회 표시되며 초과되는 목록은 페이징 처리한다.

  • 일지는 생성/수정/삭제 처리 할수 있다.

    • 조회시 표시되는 일지는 제목, 내용이며 생성 버튼이다
    • 표시되는 일지를 클릭시 상세정보가 모달로 출력되며 제목, 내용, 작성자, 작성날짜, 수정버튼, 삭제버튼이 표시된다.
    • 일지 수정은 제목, 내용이 수정되며 수정날짜 버튼 클릭후 작성날짜가 수정한 날짜로 변경된다.
    • 일지 삭제 시 클릭시 삭제 완료/ 취소 버튼이 표시되며 삭제 완료까지 진행시 조회에 더이상 표시되지 않는다.

챌린지

  • 비회원을 제외한 나머지 회원만 사용 가능하다.

  • 챌린지에 표시되는 조건을 달성시 쿠폰을 수령할수 있다.

  • 헤더에 챌린지 메뉴가 표시되며 부트스트랩 배지기능을 이용하여 달성 여부를 알린다.

    • 챌린지는 총 아래 4가지가 존재한다.

      챌린지 조건 지급 금액
      1. 리뷰 평점 5점 3회 등록시 1만원권 쿠폰 지급
      2. 3개의 지역 이상 이용시 2만원권 쿠폰 지급
      3. 3개 이상의 다른 숙박업소 이용시 5만원권 쿠폰 지급
      4. 10단위 레벨 달성시 달성 기준으로 레벨 * 1000 금액 지급

      ex ) 10레벨 - 10 * 1000 = 10000지급
      레벨 50이 최대로 현 지급 최대금액은 5만원이다.

    • 챌린지 달성시 "쿠폰 지급받기" 버튼이 활성화되며 클릭시
      토스트로 "x만원권 쿠폰 획득했습니다." 표시 후 쿠폰지급받기 버튼이 비활성 처리한다.


장바구니

  • (회원에게만 제공되는 기능, 비회원은 버튼 클릭하면 로그인 페이지로 이동)
  • 헤더에 장바구니 메뉴가 표시되며 부트스트랩 배지기능을 이용하여 달성 여부를 알린다.
  • 각 숙박업체 상세보기에서 객실을 장바구니 선택한 것들이 조회되며 표시되는 객실이 4개 초과시 무한 스코롤 페이징 처리한다.
  • 장바구니에 담긴 객실은 선택 또는 전체 선택하여 취소처리 할수 있다.
  • 각 객실정보를 클릭시 해당 업체의 상세페이지로 이동한다.
  • 표시되는 정보는 선택/삭제 버튼, 객실정보, 결제 정보이다.
    • 선택/삭제 등 버튼
      • 전체 선택 체크박스, 개별선택 체크박스, 선택삭제 버튼
    • 객실정보
      • 숙박업체이름, 객실명, 숙박일정, 가격, 숙박이미지
    • 결제 정보
      • 객실 이름 가격, 총합 가격, 결제 버튼
  • 항목 선택 관련
체크박스 이름 및 기능 동작 설명
선택 취소 해당 체크된 항목의 체크를 해제함
선택 해당 항목을 체크함
전체 선택 체크 시 전체 항목 선택 / 체크 해제 시 전체 항목 미선택
  • 선택된 체크는 언제든 해제 가능
  • 예약하기 버튼을 클릭 시 예약페이지로 이동

문의하기

  • 비회원/회원이 관리자와 1:1 채팅이 가능한 기능하다

  • 채팅 종료는 관리자 또는 사용자가 가능하다.

    • 채팅은 사용자당 1개만 존재한다.

    • 진행중인 채팅이 있으면 새롭게 채팅을 생성할수 없다.

    • 채팅 생성을 클릭시 아래의 내용이 적용된다.

      • 표시되는 정보는 이메일, 카테고리, 내용작성, 보내기/취소버튼

      • 이메일 또는 닉네임은 회원의 정보를 불러오며

        이메일을 표시하며 읽기전용 처리한다.

      • 회원/비회원은 카테고리는 문의종류를 선택할수 있다.

        • 카테고리 종류는 예약취소, 기타문의 이다.
      • 카테고리 선택 내용 작성후 보내기를 클릭시 채팅 페이지로 이동한다.

    • 채팅시 표시되는 이름은 회원은 이메일, 비회원은 예약명으로 한다.

    • 채팅 페이지는 실시간으로 관리자와 대화할수 있다

관리자

  • 관리자 계정 로그인시 메인페이지에 관리자 페이지로 이동할수있는 별도의 메뉴가 존재한다.

  • 모든 숙박업소의 목록은 지역 또는 숙소명을 통해 검색할수 있으며 최근날짜 기준 10개 단위로 조회 표시되며 초과되는 목록은 페이징 처리한다.

    • 숙박업소 등록또는 수정에 따라 등록/수정 버튼의 텍스트 표시가 달라진다.
    • 숙박업소 등록 정보는 아래와 같다
    등록 정보 : 업소명, 유형, 업소설명, 주소, 연락처, 시설정보, 객실목록, 수정/삭제 버튼
    • 공용편의시설,기타시설 등록시에는 정보 조회 버튼을 통해 불러온다
  • 숙박업소등록/수정 페이지에서는 객실의 CRUD가 가능하다.

    • 객실 등록또는 수정에 따라 등록/수정 버튼의 텍스트 표시가 달라진다.

    • 객실 등록 정보는 아래와 같다

      등록 정보 객실명, 가격, 입실/퇴실, 기준/최대 인원, 이용안내, 객실사진, 수정/삭제 버튼
  • 모든 사용자의 예약목록이 최근날짜 기준 10개 단위로 조회 표시되며 초과되는 목록은 페이징 처리한다

    • 예약취소, 예약취소 요청, 취소완료, 이용완료로 분류하여 조회할수 있다.
    • 조회가 완료된 상태에서 개별 또는 전체 선택을 하여 예약을 취소 시킬수 있다.
    • 조회된 항목을 클릭시 상세 예약 정보를 확인할수 있으며 예약취소를 할수 있다.
    • 상세 예약 정보는 예약정보 메뉴에서 표시되는 정보와 동일하다.
  • 사용자로부터 채팅요청을 최근날짜 기준 10개 단위로 조회 표시되며 초과되는 목록은 페이징 처리한다

    • 실제로 채팅 테이블에 저장되는 데이터는 이메일이다.
    • 회원은 닉네임/비회원은 예약자명
    • 카테고리 또는 검색어를 통해서 요청온 채팅을 조회 할수 있다.
    • 채팅을 종료 시킬수 있다.
⚠️ **GitHub.com Fallback** ⚠️