[Spring] 웹 프로젝트.

Hangyeol Choi·2021년 10월 25일
1

ProjectAtVision

목록 보기
9/9
post-thumbnail

대전 트래블 라운지 웹사이트.

팀 프로젝트(총 3인)로 개발한 대전 트래블 라운지(이하 "라운지") 웹사이트입니다. 실제 라운지에서 제공하는 체험 프로그램, 관광기념품(이하 "상품") 판매 기능을 구현하였습니다.

본 프로젝트에서 수행한 역할과 간략한 팀원 소개입니다.
Project_info

개발언어: Java, Jsp, HTML/CSS/JS
개발도구: Eclipse, Oracle Sql Developer, Spring, Spring Sequrity, MyBatis, Ajax,
     Jquery, Bootstrap, CKEditor4, ERMaster
소스코드: https://github.com/hangy3olchoi/TeamProject_DTL

대전 트래블 라운지 소개.

대전 트래블 라운지는 2020년 09월에 개관한 새로운 대전 관광 허브입니다. 라운지는 대전 관광객들이 여행정보를 얻거나 자유롭게 쉬었다 갈 수 있는 공간을 제공합니다. 또한, 다양한 체험 프로그램을 제공하며, 관광기념품을 판매하고 있습니다.

화면구현.

Layout.

웹사이트의 전체적인 Layout입니다. 세부 메뉴창들도 아래의 스크린숏과 같은 Layout을 적용하여 개발하였습니다.
Layout

기능구현.

로그인(아웃)/회원가입.

회원가입.

회원가입 기능입니다.
signUp

회원가입 시 사용자가 설정한 비밀번호는 Spring Security BCryptPasswordEncoder 클래스를 활용해 암호화되어 DB에 저장됩니다.
signUp_1

로그인.

로그인 기능입니다. 로그인에 성공하면 navbar 부분에 사용자가 설정한 닉네임이 표시됩니다.
signIn

로그아웃.

로그아웃 기능입니다.
LogOut

일반 사용자와 관리자 구분.

일반 사용자와 관리자를 구분해 관리자만이 관리자 페이지에 접속이 가능하도록 화면을 구현하였습니다.
AdminLogIn

DB에서 회원 테이블의 verify 칼럼 값을 9로 설정해 일반 사용자와 관리자를 구분합니다.
AdminLogIn_1

관련 JSP에서 verify 칼럼 값이 9인 경우 관리자 페이지로 이동할 수 있도록 링크가 걸린 "Admin" 을 화면에 출력하고, 칼럼 값이 "9"가 아닌 경우에는 출력하지 않습니다.

<ul>
<c:if test="${member == null}">
	<li>
		<a href="/member/signin">LogIn</a>
	</li>
	<li>
		<a href="/member/signup">Join</a>
	</li>
</c:if>
<c:if test="${member != null}">
	<c:if test="${member.verify == 9}">
	<li>
		<a href="/admin/index">Admin</a>	
	</li>
	</c:if>
	<li>
		${member.userName}님 환영합니다🙇
	</li>
	<li>
		<a href="/shop/cartList">Cart</a>
	</li>
	<li>
		<a href="/shop/orderList">OrderList</a>
	</li>		
	<li>
		<a href="/member/signout">LogOut</a>
	</li>
</c:if>

</ul>

체험 관련 기능.

체험 목록 및 상세조회.

체험 프로그램의 목록과 선택한 체험의 상세화면을 조회할 수 있는 기능입니다.
ExpDetailView

체험 리뷰 작성 및 관리.

체험 리뷰를 작성하고 수정, 삭제할 수 있는 기능입니다.
ExpReview

리뷰의 수정 및 삭제는 본인만 가능하게 구현하였습니다.
ExpReview_Other

상품 관련 기능.

상품 카테고리 분류.

상품의 경우 1차, 2차 카테고리를 설정하였습니다.
GoodsCategory

메뉴창에서 1차 카테고리명을 클릭했을 때 2차 카테고리가 전개되며 클릭 시 해당 카테고리에 속한 상품목록만 출력됩니다.
GoodsCategory_1

상품 목록 및 상세조회.

판매 중인 상품의 목록과 선택한 상품의 상세화면을 조회할 수 있는 기능입니다.
GoodsDetailView

상품 리뷰 작성 및 관리.

상품 리뷰를 작성하고 수정, 삭제하는 기능입니다. 체험 리뷰와 동일하게 리뷰 작성자만이 리뷰를 수정 및 삭제할 수 있습니다.
GoodsReview

장바구니.

상품을 장바구니에 추가하고 담긴 상품을 개별 삭제 혹은 선택 삭제할 수 있습니다.
GoodsCart

주문 관련 기능.

도로명주소 검색.

도로명주소 검색 기능입니다. 외부 API를 활용하는 방법이 훨씬 편리하고 유지 보수에 대한 고민이 적지만, 학습 차원에서 직접 구현해 본 기능입니다.

SearchAddress

raw data는 우체국에서 제공하는 우편번호 DB(바로 가기)입니다. 데이터를 엑셀을 활용해 도로명주소 포맷으로 가공한 뒤 DB에 임포트 하였습니다.

PostOffice

주문.

장바구니에 담긴 상품을 주문할 수 있습니다.
CartOrder

주문 목록 및 주문상세조회.

주문이 완료된 건들을 조회할 수 있으며, 주문번호를 클릭 시 해당 주문 건을 상세조회할 수 있습니다. 상세조회 시 배송상태를 확인할 수 있습니다.
OrderList

사이트 관리 기능.

체험, 상품, 주문 등을 관리할 수 있는 Admin 페이지입니다.

체험 관리.

체험을 등록, 수정, 삭제하는 기능입니다.
ExpCRUD

체험 모든 리뷰.

체험 상세조회 페이지에 작성된 모든 리뷰를 조회하거나 삭제하는 기능입니다.
ExpAllReview

상품관리.

상품을 등록, 수정, 삭제하는 기능입니다.
GoodsCRUD

주문 목록.

모든 주문 건을 확인할 수 있고 주문번호를 클릭하면 해당 주문 건 상세페이지로 이동합니다. 상세페이지에서는 배송상태를 변경할 수 있습니다.
OrderList_admin

배송상태가 "배송 중"으로 변경되면 상품 상세페이지에 표시되는 재고량이 주문 수량만큼 감소합니다.
Stock

상품 모든 리뷰.

상품 상세조회 페이지에 작성된 모든 리뷰를 조회하거나 삭제하는 기능입니다.
GoodsReview

기타.

사이트 소개 및 팀원 소개.

본 사이트에 대한 간략한 소개 및 팀원 소개 페이지입니다.
ProjectInfo

개인정보처리방침.

실제로 회원제로 운영되는 웹사이트처럼 꾸며보고자 추가한 개인정보처리방침을 다운로드 및 조회할 수 있습니다.

개인정보보호 포털(바로가기)에서 직접 생성 가능합니다.
Policy

감사합니다.

0개의 댓글