
프로젝트 개요
도서관 웹페이지를 제작하여 도서관 사용자들이 좀 더 편리하게 도서관 서비스를 이용할 수 있도록 편의성 향상과 접근성을 증가시키기 위한 방법의 일환으로 프로젝트를 진행하였습니다.
- 기대효과
- 도서관 이용자 –
도서를 찾아 빌리거나 희망도서를 신청할 수 있습니다. 도서페이지에 댓글 기능으로 소통할 수 있다.
- 도서관 관리자 -
도서관리 웹페이지를 통해 도서 정보와 관련 기능에 손쉽게 접근할 수 있습니다.
기획 및 설계
주제였던 물류 / 유통관련 웹 페이지 제작에서 가장 구현 가능성이 높았던 전자도서관으로 주제 설정.
여러 도서관 사이트 중 인창도서관 사이트가 참고하기에 적합하다고 판단했습니다.

- 화면 설계
- 인창도서관을 비롯한 여러 도서관 사이트를 참고하여 UX/UI 설계 (카카오 오븐 활용)

- DB 테이블 설계
- 먼저 제작한 화면설계를 참고하여 프로젝트 제작에 필요한 DB를 구성.
- 각 테이블의 역할에 따라 PK,FK를 설정하여 join이 가능하도록 설정했습니다..

- 페이지 흐름도 설계
- 크고 작은 문제에 대해 분해하며 설계 후 접근.
- 소프트웨어 시스템의 기능을 명확히 시각화 하며 팀원들과 함께 이해하고 협업 효율성을 향상 시켰습니다.
(좌) 사용자관점 | (우) 관리자 관점

개발
-
기술스택
Spring Framework
mybatis
, mariaDB
WEB3 | HTML CSS Javascript
thymeleaf
AJAX
& jquery
Eclipse
-
개발인원 7명
-
본인 역할
- 전체 프로젝트 점검, DB 테이블 생성,
- JSON으로 제공되는 API를 크롤링하여 프로젝트 전반에 사용될 도서정보 DB 구축
- 웹페이지 : 도서 상세보기, 관심도서조회, 대출조회, 회원대출현황
페이지

-
도서 상세정보
- 도서 상세정보 페이지는 도서 이름이 있는 페이지에서 모두 연결되어있습니다.
- thymeleaf, session을 이용한 post 요청으로 회원에 관한 대출, 관심 등록 기능을 구현했습니다.
- 각 도서 상세페이지별 댓글창이 존재. 로그인 세션을 이용해 본인의 댓글만 삭제할 수 있도록 했습니다
- [대출하기] 클릭시 로그인 상태에서만 대출가능 / 회원당 도서 대출은 3권까지 / 연체된 상태의 도서가 있다면 대출을 금지시키도록 하는 3가지 조건을 데이터베이스의 회원 status를 확인하여 절차를 걸칩니다.
-
대출 반납 목록
- 회원별 마이페이지에서 자신의 대출, 반납목록으로 이동 할 수 있으며 대출된 도서는 시스템날짜 기준으로부터 2주간 대출상태, 시간이 지나면 연체됨 상태로 자동 갱신하도록 했습니다.
-
관심 도서 목록
- 도서 상세페이지에서 관심도서로 등록할 경우 해당 페이지에서 확인할 수 있다. 삭제버튼으로 즐겨찾기 취소를 할 수 있습니다.
- 페이징처리와 검색기능이 구현되어 있습니다.
- 도서 재고 유무에 따라 해당 도서의 대출 가능 여부를 확인 할 수 있습니다.

- 회원 대출 현황
- 모든 회원의 대출 현황을 확인할 수 있습니다. 관리자는 도서 반납을 실물 확인 후 해당페이지에서 반납처리를 갱신시키며, 연체중인 회원 또한 확인 가능합니다.
- Ajax를 이용하여 비동기 통신으로 반납조회, 대출조회, 전체보기 3가지 범주로 테이블을 출력하도록 했으며, 검색과 페이징처리로 관리 편의를 극대화했다.
- 회원 정보 관리
- 관리자-대출 현황 페이지에서 회원명을 클릭하면 해당 회원의 정보, 수정이 가능하며 해당 회원의 대출 / 반납현황을 확인 할 수 있습니다. 회원은 도서당 1회에 한하여 연장신청을 할 수 있고, 관리자는 회원의 연장 유무를 여기서 확인 할 수 있습니다.
리뷰
- 더 적용해보고 싶었던 기술들이 많아 아쉽지만 이번 협업을 통해 많은 걸 배워 좋았다.
- 수업시간에 배웠던 것을 응용하면서 문법을 많이 익히게 됐고 프로젝트를 만들어보면서 많은 것을 할 수 있겠다는 자신감이 생겼다.
- 구현하고자 하는 목표를 가지고 노력하여 프로젝트를 완성하면서, 스프링을 활용한 웹 개발의 체계적인 이해도 높아지고, 실력 향상을 느낄 수 있었다.