5. 5
순서도 전체순서도
Listen()
API 이용 주소 등록 , 검색
컨디션별 숙박 등록 , 검색
호스팅 , 예약 목록 출력
결제 정보 등록 , 출력
숙박 등록 , 예약
•••
각 작업 함수
Accept()
Receive()
전체 Client 에게
Send()
( 숙박리스트 )
Client 시작
로그인
Connect
호스팅 예약검색 …
종료
로그아웃
Send()
Data, 등록 , 예약 , 수정 등 요청
Receive()
예약 화면에 Display 해주는 함수
호스팅 화면에 Display 해주는 함수
멤버 화면에 Display 해주는 함수
결제 화면에 Display 해주는 함수
•••
받은 Data 의 종류별 처리 함수
Send()
Data 전송
성공
실패
Main 화면3 시가 되면
종가모듈 수행
( 주가변동 )
각화면에
Display
로그인에 성공한 소켓
접속 유지
서버시작
Accept
DB
관리자 UI(Web)
예약호스팅회원
로그인
회원 , 호스팅 월간차트
호스팅 리스트 , 차트
회원 중 호스팅 회원수
관리자 비번 변경
성공
실패
멤버서비스
24. 24
요구사항 확인
Hosting
호스팅 메인
호스팅 등록하기 클릭시 로그아웃 상태일 경우 로그인 화면으로 이
동
로그인 상태일 경우 호스팅 등록 메뉴로 이동
호스팅 등록
호스팅 등록은 각각 다른 화면으로 구성
다음 버튼 클릭시 입력한 값은 footer 의 hidden 태그 value 에 임시
저장 후
최종 완료 버튼 클릭시 DB 로 값 저장
모든 입력이 필요한 화면은 값 미입력시 error 메시지 팝업
주소 입력은 Google API 를 사용하여 자동완성 시키며 입력된 주소값
을 기준으로 하여 Google Map 자동 Default 값 세팅 ,
우편번호와 같은 숫자만 입력해야 하는 항목은 정규식 사용하여 그 외
문자 입력 방지
이미지 업로드의 경우 파일명은 DB 로 값 전달하나 , 아마존 서버로
직접 저장은 미구현
Checkbox 가 필요한 화면은 모두 true 시 T, false 시 F 로 값 치환
하여 각 DB 컬럼별 T-F-T-T-T 와 같은 형태로 저장
+,- 버튼을 활용한 기능은 input 태그에 readonly 추가시켜 직접
입력 불가능하게 설정 , 각 항목별 값은 부적합한 값이 입력되지 않게
끔 구현
25. 25
Hosting
요구사항 확인
호스팅 관리
호스팅 관리 메인 화면은 Member email 을 기준으로 DB 에 있는
houses 테이블 값 출력 , 페이지 네이션으로 각 페이지당 1 개의 방
씩 출력
상세정보 클릭시 클릭한 house_seq 을 controller 로 넘겨 update
시 활용
모든 수정 화면은 우측에 DB 에 저장되어 있던 기존 값을 출력하여
나타내어준다 .
한 화면에 두 개의 DB 컬럼을 수정해야 하는 경우 , 하나의 값만 수
정했을 시 나머지 한 개 값은 기존 DB 값을 그대로 사용
달력은 당일을 기준으로 이전 일자는 선택 불가 , 최대 100 일까지만
선택 가능 , 최초 hosting 시 block 테이블이 null 일 경우 화면에
설정 값이 없다는 메시지 출력
예약 취소는 house_seq 를 기준으로 예약되어 있는 테이블 값을 출
력해주며 , 취소 버튼을 클릭하여 호스트가 임의 취소 가능하게끔 구
현
Google Map 은 DB 에 저장되어 있는 위도 , 경도 값을 가져와 해당 위
치를 나타내어준다 .
이미지업로드는 실제 아마존서버로의 저장은 구현하지 않으며 , 저장
되는 파일 명만 DB 로 값 전달
33. 33
데이터베이스
Hosting
Select (BuildingList) : Building 테이블에 저장되어 있는 튜플 출력
Select (House_seq) : Update 시 Where 문에 들어갈 House_seq 추출
Select (HouseCount) : Pagenation 시 사용할 등록 Houses 튜플 수 추출
34. 34
데이터베이스
Hosting
Select (if exist) : 테이블 값이 없을 경우 0 을 리턴
Select (resv_view) : House_seq 기준 예약되어 있는 Resv 값 추출
Select (Block_list) : House_seq 기준 Block 값 출력
48. 48
화면구현
Hosting
작성값이 null 일 경우 error 메시지 발생
( 요금을 설정해주세요 )
완료 버튼 클릭시 모든 footer 에 전달되었던
값들 Ajax 를 이용하여 Controller -> DB 로
값 저장
정상 저장시 Hosting 관리 메뉴로 이동
138. 138
요구사항 확인
Booking
모든 기능은 로그인을 필수로 한다 .
예약 기능 :
예약 화면에서는 예약 할 도시 , 날짜 , 숙박인원 , 숙소유형 , 가격범위 , 규모 ( 침실 , 욕실 , 침대 수 ), 지역 , 시설 , 호스트 언어를 선택하여 예약한다
규모 , 시설 , 호스트 언어는 선택하지 않아도 된다 .
검색에서 가져온 정보를 토대로 리스트를 검색한다 .
도시명 , 날짜 , 금액 등은 수정하여 검색이 가능하다 .
규모는 침실 , 욕실 , 침대 수를 체크박스에서 선택하여 결정한다 .
시설은 예약하려는 방의 다양한 옵션기능을 선택 추가하는 기능이며 중복선택이 가능하다 .
예약 시 모든 선택 ( 필터 ) 의 결과에 따라 리시트를 출력하여 보여준다 .
필터를 적용하지않으면 검색에서 가져온 값에 따른 리스트를 출력하여 보여준다 .
예약 Detail 화면에서는 필터링에서 확정된 값을 Detail 화 하여 보여준다 .
결제 기능 :
결제 기능은 예약 기능에서 필터를 거쳐 ( 혹은 구글 맵 에서 선택하여 ) 결정한 방의 예약결제를 진행하는 기능이며 , 결제방법 ( 신용카드 ), 카드번호와 만료
일 ( 년 / 월 / 보안코드 ), 이름 / 성 , 우편번호를 입력 받는다 .
결제국가와 결제방법은 디폴트 값과 신용카드 로 고정 되어있다 .
카드번호는 - 를 제외한 19 자 내외로 입력 받는다 . 만료일은 년도는 2 자리 월은 2 자리로 입력 받는다 . 보안코드는 3 자리를 입력 받는다 .
이름 / 성 은 5 자 /5 자 내외로 입력 받는다 . 우편번호는 10 자내외로 입력 받는다 .
카드번호는 필수입력 사항이며 정규식에 맞게 작성하여야 한다 .
예약 관리 :
예약 관리는 예약후에 취소나 자신이 예약한 방의 정보를 다시 확인할 수 있는 기능을 제공한다 .
예약취소는 취소 팝업을 보여준 후에 예약을 취소한다 .
예약한 리스트의 예약번호를 통해 자신이 예약한 곳의 상세 정보를 확인 할 수 있다 .
상세정보에는 자신이 예약한 지역과 체크인 / 체크아웃 날짜를 확인할 수 있다 . 뒤로 가기 버튼을 통해 다시 예약리스트로 돌아갈 수 있다 .
177. 177
요구사항 확인
Search
메인 화면 간단 검색기능 :
메인 화면에서의 검색기능은 예약 시 검색 범위를 좁히는데 목적으로 한다 .
검색은 자동완성 기능을 사용한다
검색 범위는 국가 , 시 , 구까지 지원한다 .
체크인과 체크아웃 요일은 달력으로 선택하여 정한다 .
숙박인원은 1 명에서 16 명까지의 체크박스에서 선택할 수 있다 .
상단 헤더에서도 검색기능을 지원한다
178. 178
요구사항 확인
Search
상세 검색 :
검색 결과 화면에서는 예약 할 도시 , 날짜 , 숙박인원 , 숙소유형 , 가격범위 ,
규모 ( 욕실 , 침대 수 ), 지역 , 시설을 선택하여 상세 검색을 지원한다
규모 , 시설은 선택하지 않아도 된다 .
날짜는 체크인날짜와 체크아웃 날짜를 선택하고 숙박인원은 1~16 명까지의
체크박스에서 선택한다 .
가격범위는 입력 형식으로 가격선을 결정한다 .
규모는 욕실 , 침대 수를 1~ 최대 16 까지의 체크박스에서 선택하여 결정한다 .
지역은 여러가지를 선택 할 수 있다 .
시설은 예약하려는 방의 다양한 옵션기능을 선택 추가하는 기능이며 중복선
택이 가능하다 .
검색 시 모든 선택 ( 필터 ) 의 결과에 따라 구글맵에서 해당하는 호스트방을
보여준다 .
223. 223
요구사항 확인
Member
구분 메뉴 및 기능 비고
•로그인
•페이스북 , 구글 연동 , 이메일 주소로 로그인 가능하게
한다 .
•관리자 아이디 id: admin pw: 1 로 로그인시 관리자모드
연결
•아이디 로그인 시 이메일 형식이 아닐 경우 거부
•로그아웃
•Session 값 Clear.
247. 로그인과 호스팅된 숙소가 우선 존재해야함 .
-등록 기능 : 구글맵 검색을 통하여 사용자가 등록하고 싶은
위치와 그 위치의 카테고리 ( 음식점 , 공원 ) 등등을 select
box 를 통하여 지정하며 textarea 를 통해 코멘트를 입력하는
형식이다 .
등록된 가이드북 내용은 숙소를 검색하는 사용자들에게 보
여진다 .
가이드북은 구글맵 검색을 통한 위치 찾기 , 대분류 / 소분류
를 지정하는 다중 select 문을 지원한다 .
247
요구사항 확인
Guide
268. 268
ADMIN
요구사항 확인
• 관리자 로그인 모드
전용 아이디를 접속시 전용 모드로 변경
관리자 전용 ID : airbnb
관리자 전용 PW: airbnb
• 리스트 화면
회원 리스트
호스팅 멤버 리스트
호스팅 하우스 현황 리스트
예약 현황 리스트
1. 각각의 리스트에 클릭하면
2. 회원 리스트 디테일
3. 호스팅 디테일
4. 예약 디테일 화면 이동
5. 각각의 세부 사항은 회원 및 호스트 , 예약 컬럼에 의거 결정
한다 .
269. 269
요구사항 확인
• 통계 화면
월별 회원 가입자수 현황 챠트
월별 호스팅멤버 가입수 현황 차트
월별 호스팅 예약자 수 현황 차트
• 자동화의 개념에 의거 하여 관리자 모드에서는 어떤한 데이터의 조
작 및 변경이 불가능하다 .
• 나가기 버튼이 있어 처음 화면으로 이동
ADMIN