- "여행 역할"은 사용자가 쉽고 편리하게 여행 일정을 계획, 예약, 회계 등을 할 수 있도록 도와주는 서비스입니다.
- 2023.04.14 ~ 2023.06.03
역할 | 이름 | Github |
---|---|---|
Backend | 유해찬 | GitHub |
Backend | 임강호 | GitHub |
Backend | 김현진 | GitHub |
Frontend | 정찬우 | GitHub |
Frontend | 유진 | GitHub |
Frontend | 심채윤 | GitHub |
Designer | 홍승현 | - |
Designer | 황리하 | - |
PM | 김문경 | - |
- 사용자가 직접 여행 계획을 생성하고, 일자별 일정을 추가할 수 있습니다.
- 팀원들과 공유 가능한 여행 일정을 생성하고, 역할을 배정할 수 있습니다.
- 여행 장소 정보, 참여 인원 및 역할을 한눈에 확인할 수 있습니다.
- 예약 페이지에서 숙소, 교통편 등의 예약 정보를 체크할 수 있습니다.
- 회계 페이지에서 일정별 지출 금액을 기록하고, 여행 경비를 효율적으로 관리할 수 있습니다.
- 결제 수단별 정산을 지원하며, 공동 경비와 개인 지출 내역을 구분할 수 있습니다.
- 카카오 지도 API를 활용하여 여행 장소를 쉽게 추가할 수 있습니다.
- 찜 목록을 저장하여 빠르게 장소를 선택할 수 있습니다.
- 초대 링크를 통해 팀원을 추가하고, 역할을 배정할 수 있습니다.
- 총무 역할 배정 기능을 통해 회계를 담당할 팀원을 설정할 수 있습니다.
- 댓글 작성 기능을 통해 원할한 소통이 가능합니다.
- 여행에 필요한 필수 준비물을 추천해줍니다.
- 사용자가 직접 준비물을 추가할 수 있으며, 체크 기능을 통해 준비 여부를 관리할 수 있습니다.
- Backend: Java 11, Spring Boot 2.7, MySQL, JPA, QueryDSL
- Frontend: React.js, TypeScript
- Infra: AWS (EC2, S3), Docker, Nginx
메인 페이지 | 방 목록 페이지 |
---|---|
![]() |
![]() |
모든 여행 페이지 | 일정 페이지 |
---|---|
![]() |
![]() |
예약 페이지 | 회계 페이지 | 준비물 페이지 |
---|---|---|
![]() |
![]() |
![]() |
- N+1 문제 해결 → FetchJoin 및 BatchSize 적용으로 쿼리 최적화
- No-Offset 방식 도입 → 페이징 성능 개선
- JPA + QueryDSL 활용 → 동적 쿼리를 통해 다양한 정산 방식 지원
- JMeter를 활용한 성능 테스트 → 데이터 처리 속도 및 API 응답 시간 최적화
