주제선정
저희는 주제를 정하기전에 우선 저희가 지향하고자하는 바를 정하였습니다.
일반사이트가 아닌 어떠한 사회적 의미가 담겼으면 했고 실제 사용이 가능할 정도로 퀄리티있는 프로젝트를 만들고싶었고 간단하지만 입체적인 요소 즉, 사용자가 간편하게 사용할 수 있도록 효율적인 다수의 기능들이 포함되었으면 했습니다.
그렇게 많은 아이디어들을 서로 공유하였고 저희 조장분께서 유기견보호소 프로젝트라는 아이디어를 내주었습니다.
유기견보호소사이트가 저희가 지향하고자하는 프로젝트의 방향에 적합하다고 생각한 저희팀은 유기동물보호소사이트를 구현하기로 하였고 유기동물들에게 항상 봄과 같은 따뜻함만 가득했으면 좋겠다는 의미로 봄 365라는 이름을 네이밍하였습니다.
프로젝트 진행과정
우선 프로젝트 기획부터 시작하여 프로젝트의 방향성을 정하였고 ERD,유저플로우 작업을 진행함과 동시에 프론트단의 개발을 함께 시작하였습니다.
step2까지 10일정도의 기간이 소요되었고 step3까지 7일 나머지는 모두 서버개발에 시간을 투자하여 프로젝트를 완성지었습니다.
프로젝트의 완성도
1. 개발환경의 통합
개발환경 역시 팀원들끼리 맞추어 진행하였습니다.
Apachi Tomcat을 사용하더라도 9.0으로 모두 맞추었고 자바도 1.8로 정확하게 맞추어서 개발환경이 맞지않아서 발생되는 시간소모적인 오류들을 최대한 줄이기 위해 노력하였습니다.
2. 깃허브활용
저희 팀의 깃허브 사이트입니다.
https://github.com/bom365/-PR-bom365
깃허브 사이트 안에 사용 가이드 내용을 구체적으로 작성하여 모든 팀원이 깃허브 사용이 가능하도록 하였으며 커밋 메시지 작성 규칙도 지정하여 직관적이고 효율적이게 버전관리를 하기위해 노력하였습니다.
3. 깔끔하고 효율성 있는 코드
저희 프로젝트는 M.V.C2 모델을 기반으로 개발되었습니다.
모델별로 클래스와 메서드명을 통일해주어 여러명이서 작업할 때 발생할 수 있는 혼란과 비통일성인 부분들을 잡아주었고 코드를 효율적이고 보기쉽게 정리하였습니다.
프로젝트의 깔끔함을 위해 저희는 MVC 요소 뿐만 아니라 커스텀 태그도 사용하였습니다
JSP만의 장점 커스텀태그를 통해서 Header나 footer같은 의미없는 반복 코드들을 태그라는 파일에 묶어서 보관을 하여 가독성있는 코드 구현을 위해 노력하였습니다.
웹사이트 구성
프로젝트로 인해 구현된 페이지이지만 최대한 실제 사용을 해도 무방할정도의 퀄리티를 지향하며 만들었습니다.
입양하기, 후원하기, 봉사신청, 자유게시판, 마이페이지, 관리자페이지 크게 총 6개의 카테고리로 이루어져있으며 일반 사용자 뿐만 아니라 관리자의 편의까지 고려하여 페이지를 입체적이고 동적이게 만들기 위하여 노력하였습니다.
담당역할
1. 서기
팀에서 서기를 맡아서 회의때 마다 나온 내용들을 정리하고 회의록을 작성하였습니다.
2. 프론트단
템플릿 사이트
https://themewagon.com/themes/free-bootstrap-4-html5-ecommerce-website-template-footwear/
를 기본으로하고 거기서 바꿔야할 코드, 추가해야하는 속성등을 변경하여 저와 조장 총 2명이서 프론트단을 완성시켰습니다.
3. Mybatis 초기세팅
jsp 수업을 모두 마치고 프로젝트를 진행한 것이 아니기에 서버부분을 개발할 때 DBConnection 방식으로 세팅하여 개발을 시작하였습니다. 그렇게 개발을 진행하고있었으나 학원에서 Mybatis를 배우고 DBConnection방식이 비 효율적이고 현재 사용하지않는 방식이라는 것을 알게되었고 Mybatis로 변경을 하여 MVC2방식으로 프로젝트를 진행해야겠다고 생각하였습니다.
이에 본인은 DBConnection으로 작성되어있던 코드를 Mybatis로 변경하는 작업을 진행하고 팀원들과 공유함으로서 팀원들이 본인이 맡은 파트도 Mybatis로 수월하게 변경할 수 있도록 틀을 제공해주었습니다.
4. 후원하기 카테고리(정기후원, 일시후원,후원 마이페이지,후원관리페이지)
정기후원
정기후원 등록(DB저장), 비회원&정기후원 진행중인 회원은 정기후원페이지 진입불가, 사용자가 입력한 데이터를 DB에 일정한 형식으로 정리하여 저장
일시후원
일시후원 신청(DB저장), 카카오페이API
후원마이페이지
해당 ID만 정기후원&일시후원 목록 조회, 정기후원중단기능, 정기후원중단 즉시 정기후원페이지 진입가능
후원관리자페이지
전체 ID 정기후원&일시후원 목록 조회, 오름차순&내림차순 정렬, 상황별(진행중&종료중) 정렬, 아이디 검색기능, 기본&정렬에 따른 페이지네이션
5. 발표
PPT와 발표대본을 직접 제작하여 조별과제의 최종 발표를 맡아 진행하였습니다.
발표영상
후기
한달정도의 기간동안 진행했던 JSP 팀프로젝트
처음하는 팀 프로젝트에다가 JSP 개념도 너무 어려웠고 좀 더 완성도 있는 프로젝트가 되고자 계속 수정하고 수정했고 팀에서 1인분은 하기 위해 마지막 일주일은 밤낮이 바뀌어 매일 아침 8시에 잠을 자고 눈을 뜨고 감을때까지 코드만 봤던..! 정말 고생했던 프로젝트였고 그만큼 잊지못할 프로젝트였습니다.
팀프로젝트 협업의 필요성에 대해서도 많이 느꼈습니다.
나와는 비교도 안될정도로 잘하는 팀원 옆에서 정말 많이 배운 시간이였습니다.
무엇보다 하나의 웹사이트를 처음부터 끝까지 완성해가면서 이때동안 추상적으로 공부해왔던 조각들이 합쳐지는 과정이 꽤 재밌다고 느꼈습니다.
그리고 이 프로젝트를 통해 개발이란 분야가 지루함과 답답함보다는 하나씩 해내어가는 성취감과 즐거움으로 나에게 다가온다는 것을 알았습니다. 이걸 배운 것 만으로 이 프로젝트는 적어도 본인에게는 꽤 성공적인 프로젝트인 것 같습니다.