외국인 관광객을 위한 K-여행 미션 앱 서비스
K-콘텐츠 해커톤 참여작
외국인 관광객에게 온보딩 미션, 팀 여행 기능, 기록 중심의 여행 설계를 제공하여 기존 관광 앱과 차별화된 경험을 제공
팀 구성 | 기획 1명, 디자인 1명, 프론트 1명, 백엔드 1명 |
담당 역할 | 백엔드 개발, 서버 구축, 기획 참여 |
개발 기간 | 2023.11 ~12 |
기획 배경 및 문제 정의
•
문제: 외국인 대상 관광 앱은 정보 나열 중심이며, **‘경험 중심의 여정 설계’**가 부족함
•
목표: “서울을 탐험하는 여정”을 중심으로 관광을 미션화, 사진 기록, 여행 팀과 공유할 수 있도록 유도
•
차별점: 단순 정보 제공 → 참여형 관광으로 전환
개발 환경
•
백엔드: Java, Spring Boot, JPA, MariaDB
•
프론트엔드: Flutter
•
인프라: AWS EC2, S3, Docker, Docker Hub
•
DevOps: 로컬 테스트 → Docker 이미지 빌드 → EC2 컨테이너 배포
•
문서 도구: ERDCloud, Google Slides, Figma, Notion
담당 역할
① 핵심 기능 개발
•
온보딩 미션 설계 및 사용자별 미션 할당 API 구현
•
여행 미션 인증용 사진 업로드 기능 개발
•
여행 팀 기능: 팀 생성, 멤버 초대, 진행 현황 공유 API
② 요구사항 문서화 및 설계
•
초기 요구사항 기반 ERD 및 도메인 설계 → 변경사항 발생 시 ERD 리팩토링
•
예외 상황 정의서 및 플로우차트 작성 → 개발 정확도 향상 기여
③ 배포 및 인프라 운영
•
Docker 기반 이미지 배포 → AWS EC2 + Docker Compose 환경 구성
•
백엔드 로그/모니터링 세팅 → 에러 추적 및 API 응답 모니터링
기술적 도전과 해결
•
문제: Flutter
Spring 간 파일 업로드 간 Content-Type 충돌 발생
→ Spring MultipartFile → AWS S3 연동 방식으로 재설계하여 해결
•
문제: 여행 팀 기능 도메인 구조가 복잡해져 ERD v0 → v1 전면 리팩토링
→ 관계도 새로 설계, 역할 분리 및 외래키 방향 재정립
ERD 및 설계 변경 히스토리
1.
관계도
2.
ERD Before (v0)
3.
ERD After (v1)
성과 요약
•
기능 설계부터 배포까지 백엔드 전반 주도 (80% 이상)
•
팀과 함께 사용자 중심 서비스의 기획-설계-배포 전 과정을 경험
•
여행/관광 산업 도메인에 대한 기술 기반 문제 해결력 강화