본문 바로가기

프로그래밍/Spring Boot 프로젝트

Spring Boot 프로젝트_항공사 플랫폼 팀 프로젝트

반응형

개발 기간

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

greenAirline7.pptx
10.20MB

 

시연 영상

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

협업툴 Jira를 사용해 팀원들과 소통했습니다. 해야 할 일, 발견된 버그, 진행 작업, 완료 작업을 구분하여 좀 더 체계적이고 효율적으로 프로젝트를 진행하였고, 팀원들의 상황에 맞춰 그에 맞게 진행 방향을 정할 수 있었습니다. 협업툴을 통해 팀원들이 어떤 방향으로 프로젝트를 진행하고 어떤 식으로 시간 분배를 하는지 시각적으로 보고 배울 수 있었고, 협업툴의 사용 방식에 대해 알게 된 프로젝트였습니다.
 
또한 전 프로젝트와 달리 RestfulAPI 기반의 외부 공공 API를 활용하여 외부 문서를 보는 능력을 향상시킬 수 있었습니다.

반응형