Trip Type
(디지털컨버전스) React & Spring 활용 자바(Java) 개발자 양성과정 (5)
| 개요 | 본 프로젝트는 항공권 데이터를 기반으로, 사용자의 편리한 항공권 정보 조회와 항공사 선택을 지원하는 웹 서비스를 개발하는 것을 목표로 한다. 주요 기능으로는 항공권 검색(항공권 정보) 제공 및 항공권 가격 변화 추적, 항공사 리뷰 및 평점 집계, 여행 경보 단계 정보, 등이 있으며, 데이터 흐름과 기능 모듈화를 통해 서비스 효율성과 확장성을 확보하였다. |
|---|---|
| 구현기능 | <사용자 기능> 회원 기능 : 회원가입, 로그인, 아이디/비밀번호 찾기, 소셜 로그인 마이페이지(내 정보 수정, 비밀번호 변경, 찜·댓글, 내가 찜한 항공권 조회, 항공권 검색 기록 조회) 여행 취향 설문조사(Quiz) 작성 및 설문 조사 결과에 따른 항공권 목록 조회 콘텐츠 이용 기능 : 항공권 조회 및 검색 사용자는 출발지, 도착지, 날짜, 등 다양한 조건으로 항공권을 검색할 수 있으며, 또한 필터링과 정렬을 통해 사용자가 보기 쉽게 맞춤 항공권을 찾을 수 있다 또한 해당 항공권을 찜하여 찜 목록에 넣을 수 있다. 사용자는 맞춤 항공권을 찾은 후 해당 항공권의 항공사 사이트로 이동이 가능하다 리뷰 및 평점 조회 항공사별 평점과 리뷰를 통해 사용자에게 신뢰성 있는 선택 정보를 제공한다. 사용자는 다른 회원이 남긴 항공사 리뷰와 평점을 확인하여 항공사 선택에 참고할 수 있다. 공지사항 목록 조회 및 상세 조회 공지사항 댓글 작성 및 조회가 가능하며 (자신이 쓴 댓글 작성/수정/삭제) 가능하다 여행 경보 단계 정보 제공 사용자가 여행 준비 시 어느 나라가 현재 위험 경보 단계에 있는지 참고할 수 있는 정보 통계 및 시각화 항공사 평점, 항공권 가격 변동 차트 등 시각화 된 콘텐츠를 통해 사용자에게 정보를 직관적으로 제공. <관리자 기능> 회원 관리 : 회원 목록 조회, 회원 등록/수정/삭제 항공권 관리 : 항공권 관리 (추가, 삭제, 조회) / 항공권 API 호출 항공권 리뷰 관리(조회, 삭제) 공지사항 관리 : 공지사항 댓글 관리(댓글 목록 조회, 작성, 수정, 삭제) 통계 및 시각화 최근 30일 신규 가입자 수 -> 월별 가입자 수 변화 그래프 최근 30일 탈퇴자 수 -> 월별 탈퇴자 수 변화 그래프 로그인/비로그인 비율 항공/여행 관련 통계 평점 높은 항공사 TOP10 찜 많은 항공권 TOP10 리뷰 많은 항공사 TOP 10 검색 많은 여행지 TOP 5 (월별로) |
| 설계의 주안점 | 1) UI·UX 사용자 중심 설계 사용자 편의성을 높이기 위해 검색·결과·상세 단계 전반에 걸쳐 일관된 UI 흐름을 유지한다. 항공권 검색 조건, 여행정보, 마이페이지 등 주요 화면에서 직관적인 정보 구조와 시각적 구분을 제공하여 탐색성을 강화한다. 2) 항공권 중심 설계 항공권 검색 기능은 본 프로젝트의 핵심 요소로, 사용자가 목적지·날짜·인원 등 다양한 조건으로 항공권을 탐색할 수 있는 경험을 제공한다. * 주요 포인트 항공권 검색 및 상세정보 페이지 구성 다중 필터(직항/출발시간대/항공사, 등) 또한 (가격순/비행시간순/이른순, 등) 정렬 기능 제공 여행 취향 설문과 항공권 목록을 추천해주는 기능을 통해 개인화된 검색 경험 제공 관리자 측 항공권·예약 정보 CRUD를 통해 유연한 데이터 제어 가능 3) 안정적인 백엔드 및 DB 설계 Spring Boot 기반 MVC 아키텍처를 적용하여 사용자·항공권·공지사항 등 주요 모듈을 독립적으로 구성한다. 관계형 데이터베이스 기반 ERD를 통해 항공권, 회원, 댓글 등 핵심 엔터티 간 관계를 명확히 정의하고, 대량의 검색 연산(항공권 조회·필터링)에 대응할 수 있도록 인덱싱과 효율적인 쿼리 구조를 설계한다. 이를 통해 빠른 검색 성능과 안정적인 데이터 처리가 가능하도록 구성한다. 4) 보안성 강화 로그인 및 회원정보 관리 과정에서 비밀번호 암호화, 토큰 기반 인증, 입력값 검증 등 보안 정책을 적용한다. 5) 실시간 상호작용 기능 댓글 작성·수정·삭제, 설문 결과 처리, 항공권 필터링·정렬 등 사용자 액션은 비동기 통신을 통해 즉각적인 화면 반응을 제공한다. 또한 사용자 예약 내역, 추천 항공권, 최근 조회 내역 등을 기반으로 개인화된 서비스 경험을 제공하도록 설계한다. |
| 사용기술 및 개발환경 |
프론트엔드: React 백엔드: Java, Spring Boot, Spring MVC 데이터베이스: Oracle SQL, MyBatis, OJDBC 디자인: Figma 개발 환경: Eclipse, Spring Tools Suite for Eclipse(STS), Visual Studio Code, [GitHub] |