위치 기반 여행지 추천 및 숙소를 등록, 예약할 수 있는 종합 여행 플랫폼
- TREVELO는 관광지 검색, 여행 경로 설정, 관광지 추천, 숙소 거래 등 여행 종합 웹 플랫폼 입니다.
- 사용자는 본인 위치 기반의 관광지를 추천받을 수 있고, 여행 경로를 날짜별로 설정하여 관리할 수 있습니다.
- 사용자는 숙소를 자유롭게 등록하고, 또 숙소를 제공하는 거래를 할 수 있습니다.
- 플랫폼 내에서의 거래는 마일리지로 이루어지며, 마일리지는 토스페이먼츠 결제를 통해 충전할 수 있습니다.
Backend + Frontend | Backend + Frontend |
---|---|
신상원 | 이도하 |
- Spring Security + JWT
- 회원 관리 + 회원 관리
- 숙소 등록
- 숙소 예약
- 숙소 리뷰 + 평점
- 마일리지 결제
- 게시판 + 댓글
- 위치 기반 여행지 추천
- 관심 여행지 저장
- 여행 경로 설정
- Springboot
- Spring Security
- JWT
- MyBatis
- MySql
- Vue
- Vuex
- AWS S3
이번 프로젝트에서는 백엔드 뿐만 아니라 프론트엔드도 처음으로 다뤄봤습니다. Vue.js와 VUEX를 사용하여 view를 띄우는 방법, 백엔드와의 RESTful API 통신 방법 등을 배울 수 있었습니다. 이 경험을 바탕으로, 앞으로의 프로젝트에서 프론트엔드 개발자와 더 원활하게 소통할 방법을 배웠습니다.
자주 사용하던 JPA 대신 Mybatis를 사용하여 프로젝트를 진행했습니다. SQL 쿼리를 직접 작성해야 하는 점이 생각보다 쉽지 않았습니다. 특히 JOIN, GROUP BY 등의 복잡한 쿼리 작성이 어려웠습니다. 이를 통해 ORM에 너무 의존하지 않도록 해야겠다고 느꼈습니다.
예약과 결제 관련 기능을 구현하면서, 다양한 예외 상황 (예: 중복 예약, 결제 실패, 본인 숙소 예약 등)을 고려하게 되었습니다. 이런 부분들을 보완하면서 테스트 코드의 중요성을 새삼 느꼈습니다. 방어적 코딩을 좋아하기 때문에 이 부분은 특히 재미있었지만, 이런 도메인에서는 지금보다 더욱 엄격한 예외 처리가 필요하다고 느꼈습니다.