wasup

Group Project) 호텔 델루나 요약 본문

Box/Portfolio

Group Project) 호텔 델루나 요약

wasupup 2021. 7. 24. 19:16
반응형

1. 기간 및 인원

1-1. 총 기간 : 06-14 ~ 

1차 마무리 : 07-19

일정
*시작일~종료일은 예정일을 표시한 것으로 실제 작업을 진행해보니 일정이 섞이는 경우가 많은 것 같아 참고로만 봐주시면 좋겠습니다.
  부주 시작일 종료일 비고
1 분석 RDB 06월 14일 06월 18일 mysql
1차통합 06월 18일 주기적으로 수정과 통합 반복예정
2 설계 UML 06월 21일 06월 28일 starUML
1차통합 07월 07일 추후 계속 수정과 통합 반복예정
3 구현 마크업 06월 25일 07월 02일 html&css
4 소스코드 06월 25일 07월 15일 1. 상단
<jsp:include page="../common/header_common.jsp"></jsp:include>

2. 하단
<jsp:include page="../common/footer.jsp"></jsp:include>

3. Controller
mv로 view로 넘어갈경우
mv.addObject("css","폴더명/파일명.css");
mv.addObject("js","폴더명/파일명.js");
5 부가기능 06월 28일 07월 09일 jsjq: 슬라이드, 탭, 기타효과
6 테스트 단위테스트 07월 15일 07월 16일  
통합테스트 07월 16일 07월 16일  
*클라이언트 화면단을 다 만들고 나서 진행할 내용
7   관리자화면구성 06월 26일 07월 02일 와이어프레임 : oven혹은 ppt형식으로 작성 예정 - 작성예정자 : OOY
8   RDB&UML수정 07월 02일 07월 16일 관리자 화면을 포함하기 위한 수정
9   마크업 07월 09일 07월 30일 html&css
10   소스코드 07월 09일 07월 30일 jsp
11   부가기능 07월 09일 07월 30일 jsjq: 슬라이드, 탭, 기타효과

 

1-2. 인원 : 4명

  조원 담당영역
1 조원1(본인) 관리자 와이어프레임, 기본 구성준비
예약, 레스토랑, 호텔소개, 사이트맵
2 조원2 클라이언트단 와이어프레임, 전체 구성준비 및 셋팅
룸, 예약, 라이프스타일, 회원가입
3 조원3 이벤트, QNA, FAQ, 로그인
4 조원4 포인트, 마이페이지, 이용약관, 관리자회원관리

 

2. 개요

2-1. 프로젝트명 : 호텔 델루나

2-2. 목적 : 코로나 이후 활발해질 업종을 선택, 가장 중요한 예약 시스템 경험

2-3. 벤치마킹사이트 : 부산 파라다이스, 신라호텔

2-4. 기술스택 : Jre1.8 ver, tomcat 8.5 ver, spring 5.0.2 ver, Mysql-Jdbc 8.0.24 ver, mybatis 3.4.1 ver

2-5. 형상관리 : 깃허브

2-6. 구현할 기능 기술

클라이언트 관리자
1. 회원가입과 로그인이 가능하다.
2. 로그인시 레스토랑, 호텔예약, 질의응답이 가능하다.
3. 회원별 레스토랑, 호텔예약의 내역을 확인 가능하다.
4. 예약시 포인트의 사용과 적립이 가능하다.
5. 예약 내역에서 예약을 취소할 수 있다.
1.전체 회원의 목록을 확인 가능하다.
2.회원의 정보(등급, 상태 등)를 수정할 수 있다.
3.예약의 실제 상품인 룸을 등록할 수 있다.
4.룸을 패키지로 등록하여 검색의 결과로 출력할 수 있다.
5.레스토랑, 호텔의 예약한 내역을 확인 가능하다.
6.레스토랑, 호텔의 예약내역에서 상태변경이 가능하다.
7.고객질문의 내역을 확인할 수 있다.
8.고객질문에 대한 답변이 가능하다.
9.고객질문에 답변 등록시 회원의 마이페이지에서 확인 가능하다.
10.이벤트를 신규로 등록, 수정이 가능하다.

 

3. 사이트맵

 

4. 프로젝트 목록&상세

4-1. 목록

번호 대메뉴 중메뉴 소메뉴(혹은 t -탭) 폴더/파일명(view 하위) 부가설명 요청(링크)
0 공통영역 header - /common/header    
tail - /common/tail tail 혹은 footer  
1 index - - /index   /index
2 RESERVATION RESERVATION - /reservation/reservation-list 예약 검색화면 /reservation-list
- /reservation/reservation-list?check_in=2021-07-14&check_out=2021-07-14&count_adult=1&count_elementary=0&count_child=0&count_baby=0 예약 검색결과 목록 /reservation-list?page=1&search_no=&check_in=2021-07-16&check_out=2021-08-17&search_abult=1&search_elementary=0&search_child=0&search_baby=0
- /reservation/rsv-mapping
/reservation/rsv-option
예약 검색셜과 목록의 더보기 JSON
- /reservation/reservation-reserve 예약 정보 입력 창 /reservation-reserve
3 ROOMS 전체리스트 /rooms 룸 전체 리스트  
DELUXE 디럭스 시티 /rooms/deluxe-city 디럭스 상세 페이지 /rooms/deluxe/city
디럭스 오션 /rooms/deluxe-ocean /rooms/deluxe/ocean-new
디럭스 오션 테라스 /rooms/deluxe-ot /rooms/deluxe/ot
PREMIUM DELUXE 프리미엄 디럭스 오션 더블 /rooms/premiumdeluxe-double 프리미엄 디럭스 상세 페이지 /rooms/premiumdeluxe/double-new
프리미엄 디럭스 오션 트윈 /rooms/premiumdeluxe-tween /rooms/premiumdeluxe/tween-new
SWEET 스위트 시티 /rooms/sweet-city 스위트 상세 페이지 /rooms/suite/city
스위트 오션 테라스 /rooms/sweet-ot /rooms/suite/ot
4 EVENT EVENTS 전체 /event/event 이벤트 전체 탭 /event/event
시즌이벤트 이벤트 시즌 탭(각 페이지) /event/season
다이닝이벤트 이벤트 다이닝 탭(각 페이지) /event/dining
각각의 페이지 /event/eventView   /event/eventView/{no}
페이지별 이벤트 페이지 /event?PAGE_NO0=페이지번호   /event?PAGE_NO0=페이지번호
5 LIFESTYLE SPA 씨메르 /lifestyle/spa-cimer 스파 탭1 /lifestyle/spa/cimer
/lifestyle/spa-pool 스파 탭2 /lifestyle/spa/pool
사우나 /lifestyle/spa-sauna 스파 탭3 /lifestyle/spa/sauna
피트니스 /lifestyle/spa-fitness 스파 탭4 /lifestyle/spa/fitness
리트리트 스파 /lifestyle/spa-retreatspa 스파 탭5 /lifestyle/spa/retreatspa
KIDS VILLAGE BMW 키즈 드라이빙 /lifestyle/kidsvillage-driving 키즈빌리지 탭1 /lifestyle/kidsvillage/driving
PLAYLAB /lifestyle/kidsvillage-playlab 키즈빌리지 탭2 /lifestyle/kidsvillage/playlab
하바 기즈 라운지 /lifestyle/kidsvillage-rounge 키즈빌리지 탭3 /lifestyle/kidsvillage/rounge
웅진 북클럽 /lifestyle/kidsvillage-book 키즈빌리지 탭4 /lifestyle/kidsvillage/book
가족형키즈카페 키즈앤 패밀리 /lifestyle/kidsvillage-family 키즈빌리지 탭5 /lifestyle/kidsvillage/family
6 RESTAURANTS NIX - /facility/restaurants 레스토랑 닉스 페이지 /restaurants
/restaurants-nyx,
/restaurants-nam,
/restaurants-sakca
NAMPUNG - 레스토랑 남 페이지
SAKAE - 레스토랑 사까에 페이지
레스토랑
공통부분
- /facility/restaurants-reserve 레스토랑 예약정보 입력 창 /restaurants-reserve
- /facility/restaurants-result 레스토랑 예약결과 창 /restaurants-result
- 예약확인은 마이페이지의 예약내역 탭과 연결
7 TakeOut(To Go)          
8 CUSTOMER SERVICE FAQ - /notice/faq FAQ 창 /notice/faq (전체)
/notice/faq/lifestyle (라이프스타일)
/notice/faq/room (룸)
/notice/faq/reservation (예약)
/notice/faq/facility (시설)
QNA - /notice/qna QNA 창 /notice/qna
MAP - /notice/location 오시는길 창 /notice/location
9 ABOUT US - t- HOTEL INFORMATION
t- HISTORY
t- PARADISE WAY
/about/about-us 부산파라다이스에서는 '/notice/aboutus'이지만
'/notice'폴더에 다른 하위 항목이 필요 없으므로
'/about'으로만 작성
/about-us
10 LOGIN 로그인 - /login 로그인 창 /login
찾기페이지(id,pw)   /member/find/Id 아이디/비밀번호 찾기 /member/find
비회원로그인   /loginstranger   /loginstranger-togo
    /loginstranger-din
11 JOIN 약관동의 - /member/terms 홈페이지 회원, 개인정보 수집 /member/joinStep1
본인인증   /member/verify 이메일 인증 /member/joinStep2
정보입력   /member/infoInput 회원정보 입력 창 /member/joinStep3
가입완료   /member/complete 회원번호,이름 출력 /member/joinStep4
12 LOGOUT - - /logout 로그아웃 되었다는 탭 출력 /logout
13 MYPAGE 기본정보   /mypage/mypage   /mypage/mypage
예약내역   /mypage/reservation   /mypage/reservation
포인트   /mypage/point   /mypage/point
이용문의   /mypage/service   /mypage/service
회원정보수정   /mypage/edit   /mypage/edit
회원탈퇴   /mypage/delete   /mypage/delete
14 개인정보 처리방침 - - /policy/privacy    
15 이용약관 - - /privacy/agreement    
16 사이트맵 - - /info/site-map   /site-map

4-2. 상세

- ppt정리

 

5. UML설계

5-1. 패키지 다이어그램

5-2. 클래스 다이어그램

룸&예약

 

6. ER 다이어그램

 

7. DDL Script

예약

CREATE TABLE `reservation` (
  `no` int(11) NOT NULL AUTO_INCREMENT,
  `date_write` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `check_in` date NOT NULL,
  `check_out` date NOT NULL,
  `room_count` int(11) NOT NULL DEFAULT '1',
  `count_adult` int(11) DEFAULT NULL,
  `count_elementary` int(11) DEFAULT NULL,
  `count_child` int(11) DEFAULT NULL,
  `count_baby` int(11) DEFAULT NULL,
  `count_all` int(11) NOT NULL,
  `promotion_name` varchar(45) DEFAULT NULL,
  `promotion_code` mediumtext,
  `breakfast_adult` int(11) DEFAULT NULL,
  `breakfast_child` int(11) DEFAULT NULL,
  `price_product` int(11) NOT NULL,
  `price_service` int(11) NOT NULL,
  `price_bed` int(11) NOT NULL,
  `price_options` int(11) NOT NULL,
  `price_member` int(11) NOT NULL,
  `price_point` int(11) NOT NULL,
  `price_total` int(11) NOT NULL,
  `price_result` int(11) NOT NULL,
  `name` varchar(45) NOT NULL,
  `email` varchar(45) DEFAULT NULL,
  `tel` varchar(45) NOT NULL,
  `add_requests` text,
  `views` int(11) DEFAULT '0',
  `state` varchar(45) NOT NULL DEFAULT '예약대기',
  `rsv_adm_no` int(11) NOT NULL,
  `writer` int(11) NOT NULL,
  `rooms_no` int(11) NOT NULL,
  PRIMARY KEY (`no`),
  KEY `fk_reservation_reservation_adm1_idx` (`rsv_adm_no`),
  KEY `fk_reservation_member1_idx` (`writer`),
  KEY `fk_reservation_rooms1_idx` (`rooms_no`),
  CONSTRAINT `fk_reservation_member1` FOREIGN KEY (`writer`) REFERENCES `member` (`no`) ON DELETE NO ACTION ON UPDATE CASCADE,
  CONSTRAINT `fk_reservation_reservation_adm1` FOREIGN KEY (`rsv_adm_no`) REFERENCES `reservation_adm` (`rezAdm_no`) ON DELETE NO ACTION ON UPDATE CASCADE,
  CONSTRAINT `fk_reservation_rooms1` FOREIGN KEY (`rooms_no`) REFERENCES `rooms` (`no`) ON DELETE NO ACTION ON UPDATE CASCADE
);

예약관리자

CREATE TABLE `reservation_attach` (
  `no` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(45) NOT NULL,
  `size` int(11) NOT NULL,
  `rsv_adm` int(11) NOT NULL,
  PRIMARY KEY (`no`),
  KEY `fk_attach_room_adm1_idx` (`rsv_adm`),
  CONSTRAINT `fk_attach_room_adm1` FOREIGN KEY (`rsv_adm`) REFERENCES `reservation_adm` (`rezAdm_no`) ON DELETE NO ACTION ON UPDATE NO ACTION
);

CREATE TABLE `reservation_attach` (
  `no` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(45) NOT NULL,
  `size` int(11) NOT NULL,
  `rsv_adm` int(11) NOT NULL,
  PRIMARY KEY (`no`),
  KEY `fk_attach_room_adm1_idx` (`rsv_adm`),
  CONSTRAINT `fk_attach_room_adm1` FOREIGN KEY (`rsv_adm`) REFERENCES `reservation_adm` (`rezAdm_no`) ON DELETE NO ACTION ON UPDATE NO ACTION
);

CREATE TABLE `rez_adm_room_type` (
  `rez_adm_room_no` int(11) NOT NULL AUTO_INCREMENT,
  `rez_adm` int(11) DEFAULT NULL,
  `room_type` int(11) DEFAULT NULL,
  `title` varchar(150) DEFAULT NULL,
  `benefit` text,
  PRIMARY KEY (`rez_adm_room_no`),
  KEY `fk_reservation_adm_has_room_type_room_type1_idx` (`room_type`),
  KEY `fk_reservation_adm_has_room_type_reservation_adm1_idx` (`rez_adm`),
  CONSTRAINT `fk_reservation_adm_has_room_type_reservation_adm1` FOREIGN KEY (`rez_adm`) REFERENCES `reservation_adm` (`rezAdm_no`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `fk_reservation_adm_has_room_type_room_type1` FOREIGN KEY (`room_type`) REFERENCES `room_type` (`no`) ON DELETE NO ACTION ON UPDATE NO ACTION
);

CREATE TABLE `rooms` (
  `no` int NOT NULL AUTO_INCREMENT,
  `state` varchar(4) DEFAULT '예약대기',
  `room_number` int DEFAULT NULL,
  `room_detail_no` int NOT NULL,
  PRIMARY KEY (`no`),
  KEY `fk_rooms_room_detail1_idx` (`room_detail_no`),
  CONSTRAINT `fk_rooms_room_detail1` FOREIGN KEY (`room_detail_no`) REFERENCES `room_detail` (`roomdetail_no`)
);

CREATE TABLE `room_detail` (
  `roomdetail_no` int NOT NULL AUTO_INCREMENT,
  `room_view` varchar(10) DEFAULT NULL,
  `room_location` varchar(2) DEFAULT NULL,
  `room_bedtype` varchar(2) DEFAULT NULL,
  `room_price` int DEFAULT NULL,
  `room_thumb_name` varchar(45) DEFAULT NULL,
  `room_thumb_size` int DEFAULT NULL,
  `room_type_no` int NOT NULL,
  PRIMARY KEY (`roomdetail_no`),
  KEY `fk_room_detail_room_type1_idx` (`room_type_no`),
  CONSTRAINT `fk_room_detail_room_type1` FOREIGN KEY (`room_type_no`) REFERENCES `room_type` (`no`)
);

CREATE TABLE `room_image` (
  `no` int NOT NULL AUTO_INCREMENT,
  `name` varchar(45) DEFAULT NULL,
  `size` int DEFAULT NULL,
  `room_detail_no` int NOT NULL,
  PRIMARY KEY (`no`),
  KEY `fk_room_image_room_detail1_idx` (`room_detail_no`),
  CONSTRAINT `fk_room_image_room_detail1` FOREIGN KEY (`room_detail_no`) REFERENCES `room_detail` (`roomdetail_no`)
);

CREATE TABLE `room_type` (
  `no` int NOT NULL AUTO_INCREMENT,
  `type` varchar(20) NOT NULL,
  `adult_cnt` int NOT NULL,
  `title` varchar(45) DEFAULT NULL,
  `info` varchar(500) DEFAULT NULL,
  `wdate` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `modify_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`no`)
);

포인트

CREATE TABLE `point_detail` (
  `no` int(11) NOT NULL AUTO_INCREMENT,
  `member_no` int(11) NOT NULL,
  `state` int(11) NOT NULL,
  `amount` int(11) NOT NULL,
  `point_event_no` int(11) NOT NULL,
  `trans_date` timestamp NULL DEFAULT NULL,
  `expire_date` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`no`),
  KEY `fk_point_detail_point_event1_idx` (`point_event_no`),
  CONSTRAINT `fk_point_detail_point_event1` FOREIGN KEY (`point_event_no`) REFERENCES `point_event` (`no`) ON DELETE NO ACTION ON UPDATE NO ACTION
);


CREATE TABLE `point_event` (
  `no` int(11) NOT NULL AUTO_INCREMENT,
  `state` int(11) NOT NULL,
  `amount` int(11) NOT NULL,
  `trans_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `expire_date` timestamp NULL DEFAULT NULL,
  `member_no` int(11) NOT NULL,
  `reservation_no` int(11) NOT NULL,
  PRIMARY KEY (`no`),
  KEY `fk_point_event_member1_idx` (`member_no`),
  KEY `fk_point_event_reservation1_idx` (`reservation_no`),
  CONSTRAINT `fk_point_event_member1` FOREIGN KEY (`member_no`) REFERENCES `member` (`no`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `fk_point_event_reservation1` FOREIGN KEY (`reservation_no`) REFERENCES `reservation` (`no`) ON DELETE NO ACTION ON UPDATE NO ACTION
);

회원

CREATE TABLE `member` (
  `no` int NOT NULL AUTO_INCREMENT,
  `id` varchar(12) DEFAULT NULL,
  `pw` varchar(20) DEFAULT NULL,
  `name` varchar(50) DEFAULT NULL,
  `birth` date DEFAULT NULL,
  `tel` varchar(11) DEFAULT NULL,
  `email` varchar(64) DEFAULT NULL,
  `first_name` varchar(50) DEFAULT NULL,
  `last_name` varchar(50) DEFAULT NULL,
  `post` varchar(5) DEFAULT NULL,
  `address` varchar(45) DEFAULT NULL,
  `detail_address` varchar(45) DEFAULT NULL,
  `marketing` varchar(1) DEFAULT NULL,
  `jdate` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `state` varchar(2) DEFAULT '가입',
  `grade` int DEFAULT '1',
  `sno` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`no`)
);

고객서비스

CREATE TABLE `qna` (
  `no` int NOT NULL AUTO_INCREMENT,
  `question` varchar(20) DEFAULT NULL,
  `title` varchar(45) DEFAULT NULL,
  `contents` varchar(100) DEFAULT NULL,
  `wdate` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `writer` int NOT NULL,
  PRIMARY KEY (`no`)
);
CREATE TABLE `rqna` (
  `no` int NOT NULL AUTO_INCREMENT,
  `reponse` varchar(100) NOT NULL,
  `writer` int NOT NULL,
  `state` varchar(20) NOT NULL,
  PRIMARY KEY (`no`)
);

반응형

'Box > Portfolio' 카테고리의 다른 글

Group Project) 호텔 델루나 DB Review  (0) 2021.07.31
비회원테이블 고민  (0) 2021.07.22
Comments