[Spring] 웹 프로젝트.

12825 단어 SpringSpring

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

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

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

개발언어: 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을 적용하여 개발하였습니다.

기능구현.

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

회원가입.

회원가입 기능입니다.

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

로그인.

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

로그아웃.

로그아웃 기능입니다.

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

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

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

관련 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>

체험 관련 기능.

체험 목록 및 상세조회.

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

체험 리뷰 작성 및 관리.

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

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

상품 관련 기능.

상품 카테고리 분류.

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

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

상품 목록 및 상세조회.

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

상품 리뷰 작성 및 관리.

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

장바구니.

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

주문 관련 기능.

도로명주소 검색.

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

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

주문.

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

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

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

사이트 관리 기능.

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

체험 관리.

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

체험 모든 리뷰.

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

상품관리.

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

주문 목록.

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

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

상품 모든 리뷰.

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

기타.

사이트 소개 및 팀원 소개.

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

개인정보처리방침.

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

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

감사합니다.

좋은 웹페이지 즐겨찾기