wasup
Group Project) 호텔 델루나 요약 본문
반응형
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