00. 프로젝트 소개
등산 정보 서비스 및 커뮤니티, 산타
: 공통의 관심사를 공유하는 커뮤니티 형성, 등산 용품 거래 및 나눔 등의 기능을 갖는 독자적인 ‘등산 정보 커뮤니티’를 구현하여 쉬운 접근성으로 경쟁력있는 서비스를 제공하고자하는 목적으로 ‘산타’를 개발
01. 팀 구성
- 본인 외 3명, 총 4명으로 팀구성
02. 개발도구 & 협업 툴
- 협업 툴 : 디스코드, 스프레드시트, 구글 드라이브, GitHub
- 개발도구 : Eclipse, SQL Developer, SQL Plus, Git Bash
- 개발언어 : JAVA, JSP, Spring, HTML, XML, JQuery, JavaScript, MyBatis, CSS, OracleDB 등
04. 시스템 구성 및 아키텍처
- spring-security-core 3.1.0.RELEASE : Spring Security 환경 구축 하기위해 사용
- hibernate-validator 4.2.0.Final: 유효성검사를 위해 사용
- Ojdbc6 12.1.0.1: 오라클 DB
- commons-fileupload 1.2.2 : 파일 업로드를 위해 사용
- MyBatis 3.1.0 & MyBatis-spring 1.1.0 : 동적 SQL을 처리를 하기 위해 사용
- commons-dbcp2 2.1.1 : 데이터베이스와 애플리케이션을 효율적으로 연결하 는 커넥션 풀(connection pool) 라이브러리
- JQuery 1.12.2 : 자바스크립트 언어를 간편하게 사용할 수 있도록 단순화 시킨 오픈소스기반의 자바스크립트 라이브러리 사용
- Bootstrap v5.0.0 : 반응형 웹 페이지 구축을 위해 부트스트랩 사용
- gson 2.9.0 : 그래프 통계를 위해 Java Object를 Json 데이터로 변환하기 위해 사용
- json-lib 2.4: AJAX를 통해 비동기로 통신하면서 JSON형태로 데이터를 파싱하기 위해 사용
- Kakao pay api : 카카오페이 결제기능을 위해 api 사용
- Kakao address api : 회원가입시 주소검색을 위해 api 사용
- jquery-3.6.0 : api를 구현하기위해 사용
- chart.js 2.5.0 : ajax를 통해 실시간 통계결과를 차트 형식으로 보여주기 위해 사용
05. DB 구성 ( ERD )

06. 개인 담당 기능 ( 산별정보, Q&A, 스탬프 )
1) 산별정보
- 목록 : (사용자)검색, 정렬, 인기산아이콘 출력 기능 / (관리자)정보등록, 다중삭제 기능

- 상세정보 : (사용자)정보 열람 / (관리자)개별 정보 수정, 삭제

- 등록, 수정폼 : (관리자)유효성검사, 정보등록, 수정

2) Q&A
- 목록 : (비회원)검색, 내용 열람 가능, (회원)질문등록, 삭제, 수정, (관리자)질문 삭제, 답변 등록, 수정

- 질문등록, 수정폼 : (회원)유효성 검사, 다중파일 업로드, 다중파일 갯수 제한

- 답변등록, 수정폼 : (관리자)답변 등록, 수정, 답변할 질문 내용 확인 가능

3) Stamp
- 완등내역 : (사용자)스탬프판, 스탬프 누적 개수, 현재 등급, 완등완료 내역, 완등신청 현황 열람 가능

- 인증사진 : (사용자)내역의 산 이름 클릭하여 완등 인증신청 시 첨부한 사진 열람 가능,
거절상태 시 거절사유도 출력

- 완등내역 관리 : (관리자)회원이 신청한 완등내역 열람 가능, 인증사진 확인, 인증상태 변경, 거절사유 변경 가능,
인증완료된 산 등록 시 자동으로 거절, 인증신청한 산 정보 삭제 시 자동으로 거절,
회원 보유 스탬프 10개 돌파 시 일반->우수로 등급업

07. 전체 기능 시연 영상
동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.
08. 관련 링크 및 파일
- 깃허브 : https://github.com/cwstw/Santa
- 프로젝트 프레젠테이션 PPT
- 프로젝트 요약보고서
- 데이터베이스 쿼리문
