개발 기간
23.05.15 ~ 23.06.07 (총 24일)
개발 환경
개발 환경
: spring boot, MySQL, Apache&Tomcat, MyBatis, JSP, H2, Lombok, BCrypt, Chart.js
사용 언어
: java, HTML5, CSS3, JavaScript, JQuery
형상 관리 & 협업툴
: Gradle, Github, Jira
데이터베이스 ERD 모델
깃허브
https://github.com/afeelingeffort/green_airline_project.git
GitHub - afeelingeffort/green_airline_project
Contribute to afeelingeffort/green_airline_project development by creating an account on GitHub.
github.com
PPT
시연 영상
https://www.youtube.com/watch?v=TZmGoEAzEio&list=PLa8rLkLRMxDdjoElSMJP_s-OoiB75ZV2H
사이트 맵
회원
관리자
기능 구분
주요 기능
회원가입 (Member)
- 회원가입 Validation 처리
- 아이디 중복 확인 (AJAX 통신)
- 비밀번호 암호화 처리
- 주소 찾기 DAUM 우편번호 서비스 API
- 비밀번호 확인 (AJAX 통신)
- 국가 코드 API 활용 국적 가져오기
카카오 로그인 API (Member)
- OAuth 2.0 인증을 위한 카카오톡 로그인 구현
- 동의항목 체크 후 카카오 로그인
아이디/비밀번호 찾기 (Member)
네이버 이메일 SMTP 프로토콜 사용
- 사용자 정보를 이용해 아이디 찾기
- 이메일 입력 후 발송된 인증 코드와 입력한 인증 코드가 같으면 비밀번호 변경 기능
항공권 예약 - 날짜 선택 (Member)
- 출발지/도착지 선택 기능 (AJAX 통신)
- 나이 계산기
항공권 예약 - 좌석 선택 (Member)
- 스케줄 운항에 따라 항공기 종류와 좌석 배치가 다르게 출력되도록 설계
- 이미 예약된 좌석은 선택 불가능
항공권 예약 - 결제 (Member)
- 선택한 티켓 옵션과 좌석 번호 조회
- 탑승객 정보 입력
항공권 예약 - 카카오 페이 결제 (Member)
- 결제 요청 시 예약 내역, 탑승객 정보, 예약 좌석 내역, 결제 내역 데이터 추가
항공권 예약 - coolSMS API (Member)
항공권 예약 - 구매 내역 (Member)
- 항공권 구매 내역 결제완료, 환불처리
- 출발일자가 현재일자 이후이면 '환불 신청' 버튼 출력
항공권 예약 - 환불 처리 (Member)
- 출발일자 기준으로 해당 티켓의 일수와 국제선, 국내선 여부를 확인하고 성인 1인 기준 환불 수수료가 정해짐
기내 서비스 조회 (Member)
- 운항 시간 및 노선에 따른 기내 서비스 조회
- 모달창으로 출발지/도착지 선택 기능 (AJAX 통신)
특별 기내식 및 신청 (Member)
- select 박스 클릭시 AJAX 통신
- 신청한 티켓의 인원 수에 따라 특별 기내식 선택 후 최대 수량 제한 기능
위탁 수하물 및 신청 (Member)
- 구간 선택 select 박스 클릭시 AJAX 통신
- 위탁 수하물 티켓의 인원수에 따라 최대 수량 제한 기능
여행 일지 (Member)
- 인기 게시글 상단 4개 표시 (조회수, 좋아요 순 알고리즘)
- 페이징 처리
여행 일지 - 상세 (Member)
- 모달창을 이용한 게시물 상세보기
- 구글 맵 API 기능
- 조회수 중복 방지, 로그인 시에만 좋아요 기능
- 글을 작성한 유저만 수정, 삭제 기능
공항 위치 조회 (Member)
- 구글 맵 API 사용
- 선택한 나라의 공항 조회
- 조회 시 마커 생성 및 위치 정보 표시
마일리지 샵 (Member)
- 마일리지 높은 순/낮은 순 정렬
- 브랜드와 이름으로 검색 기능
- 페이징 처리
마일리지 샵 - 상세 보기 (Member)
- 옵션 선택시 수량과 총 금액 출력 (AJAX 통신)
- 기프티콘 유효기간은 1년으로 설정
마일리지 샵 - email SMTP (Member)
- 구매 성공시 email SMTP로 기프티콘 이미지 전송
마일리지 샵 - 마일리지 조회 페이지 (Member)
- 기간별로 선택하여 적립/사용/소멸 마일리지 조회
- 구매내역/취소내역 기간별로 마일리지샵 구매내역 조회
고객센터 - 공지사항 (Member)
- 페이징 처리
- 검색 기능
- 카테고리별 출력 기능
고객센터 - 자주 묻는 질문 (Member)
- 검색 기능
- 카테고리별 출력 기능
- 토글 기능
고객센터 - 문의 게시판 (Member)
- 입력될 때마다 현재 글자 수 (byte 수) 갱신
- 답변이 완료 되었다면 '답변완료', 아니라면 '처리중' 출력
- 페이징 처리
마이페이지 (Member)
- 현재·누적, 적립 예정, 소멸 예정 마일리지 조회
- 누적 마일리지로 등급별 마일리지 기준치에 적합하면 등급 변동
- 결제 내역 조회
관리자 페이지 (Manager)
- 대시보드 chart.js 사용
관리자 페이지 - 회원 관리 (Manager)
- 관리자가 관리자를 등록해주는 방식으로 설계
관리자 페이지 - 항공 서비스 (Manager)
관리자 페이지 - 마일리지 샵 (Manager)
관리자 페이지 - 게시판 관리 (Manager)
관리자 페이지 - 고객센터 (Manager)
성장 경험
협업툴 Jira를 사용해 팀원들과 소통했습니다. 해야 할 일, 발견된 버그, 진행 작업, 완료 작업을 구분하여 좀 더 체계적이고 효율적으로 프로젝트를 진행하였고, 팀원들의 상황에 맞춰 그에 맞게 진행 방향을 정할 수 있었습니다. 협업툴을 통해 팀원들이 어떤 방향으로 프로젝트를 진행하고 어떤 식으로 시간 분배를 하는지 시각적으로 보고 배울 수 있었고, 협업툴의 사용 방식에 대해 알게 된 프로젝트였습니다.
또한 전 프로젝트와 달리 RestfulAPI 기반의 외부 공공 API를 활용하여 외부 문서를 보는 능력을 향상시킬 수 있었습니다.
'프로그래밍 > Spring Boot 프로젝트' 카테고리의 다른 글
항공사 플랫폼 팀 프로젝트_회원가입 비밀번호 확인 AJAX 통신 (0) | 2023.07.16 |
---|---|
항공사 플랫폼 팀 프로젝트_daum 우편번호 서비스 API, 아이디 중복 확인 (0) | 2023.07.16 |
항공사 플랫폼 팀 프로젝트_RestApiController 사용법 (0) | 2023.07.16 |
쇼핑몰 플랫폼 팀 프로젝트_일별 정리 (0) | 2023.05.09 |
Spring Boot 프로젝트_쇼핑몰 플랫폼 팀 프로젝트 (0) | 2023.05.05 |