(22/11/29 작성) 스프링 A반 7조 **[코새싹]**의 호텔 예약 프로그램 프로젝트 보고서 입니다.
GitHub - pomcrap/221124_Project_Hotel at dev
코새싹 호텔의 예약 관리 시스템이라는 컨셉으로 개발했습니다.
첫 페이지를 통해 **[관리자페이지]**나 **[고객 페이지]**를 선택 후 이동합니다. **[관리자 페이지]**에서는 <전체 예약 목록 확인>, <호텔 수익금 확인>이 가능합니다.
**[고객 페이지]**는 로그인 개념으로 들어갈때 [이름, 전화번호, 소지금]을 입력한 뒤 입장합니다.
**[1. 방목록조회]**를 선택시 원하는 예약 날짜를 입력합니다. 이때 예약날짜는 내일 이후여야 합니다.(과거,당일예약 안됨) 원하는 예약날짜에 아직 예약되지 않은 방의 리스트를 보여주고, 원하는 방을 선택하면 상세정보를 보여줍니다. 예약시 소지금과 방가격을 비교해서 소지금 부족시 예약이 불가합니다.
[2. 예약조회] 에서는 로그인 되있는 계정 본인의 예약목록을 확인할 수 있습니다. 회원의 예약목록은 예약 시 생성된 UUID값을 개별회원의 [BookIdList] 라는 리스트에 저장해놓고, 전체 예약 리스트와 비교해서 해당하는 예약내역을 표시하는 방식입니다. [예약조회] 페이지에 리스트업 된 예약 내역 중 원하는 내역을 선택해서 예약취소 가능하고, 예약취소시 비용이 반환됩니다.
(영상 링크)
https://www.youtube.com/watch?v=00YQFVQPelk
클래스를 크게 구동층위 클래스와, 데이터층위 클래스로 나누었습니다.
구동층위 클래스는 HotelService & GuestService 클래스에 상세 기능이 담겨있고, HotelConsole 클래스가 프레젠테이션 및 서비스기능을 호출해서 사용하는 역할을 맡습니다.
데이터층위 클래스에서 Hotel은 <Room>을 요소로 갖고 있는 리스트인 rooms를 필드값으로 가지고 있고, <Book>을 요소로 갖고 있는 리스트인 totalBookList도 갖고 있어, Room과 Book을 Hotel이 소유하는 관계를 구현했습니다.
