
로컬 퀘스트
덜 붐비는 곳으로 걸어가면 보상을 주는 관광 퀘스트 앱
2026 관광데이터 활용 공모전 (웹·앱 구현 부문)에서 만든 프로젝트한국관광공사 × 성균관대학교 AI중심대학사업단 · 2026.07 – 2026.09
- 기간
- 2026.08 – 2026.09
- 종류
- 팀 프로젝트
- 팀
- 3명
- 역할
- 총괄 · 프론트엔드 개발 · 디자인
- 진행 상태
- 완료
- 배포
- 배포 중ONE store
라이브러리Kakao Login, Google Sign-In
요약
한국관광공사 위치기반 관광정보로 주변 장소를 퀘스트로 만들고, 사용자가 GPS로 도착을 인증하면 경험치와 배지를 주는 Android 앱입니다. 혼잡도가 낮은 장소, 처음 가는 지역, 평일 오전 방문에는 경험치 배율을 더 줍니다. 2026 관광데이터 활용 공모전 웹·앱 구현 부문에 팀으로 참가해 원스토어에 출시했습니다.
내가 한 일
- 디자인 시스템 “Parchment & Seal” v1.0과 앱 전체 화면 디자인
- 디자인 토큰과 공용 위젯 기반으로 로그인·온보딩·홈 등 앱 화면 재작성
- 배지 컬렉션·배지 상세·프로필·설정 화면 구현
- 퀘스트 진행 화면의 카카오맵 기반 목적지·인증 반경·현위치·방향 표시 구현
- 사진 여러 장을 모으는 수집형 퀘스트의 인증 화면 구현
- 퀘스트 유형 7종과 난이도 5단계별 지도 마커를 코드로 생성하는 도구 제작
- 토큰 자동 갱신과 네트워크 끊김·세션 만료 구분을 처리하는 앱 API 클라이언트 구현
- 화면 크기 3종과 큰 글자 설정에서 화면 넘침을 검사하는 레이아웃 테스트 작성
- 안드로이드 릴리스 빌드 설정과 원스토어 출시 진행
- 공모전 제출 문서 작성과 시연 화면 촬영
화면
원본 크기로 보기 (새 탭)
원본 크기로 보기 (새 탭)
원본 크기로 보기 (새 탭)
원본 크기로 보기 (새 탭)
원본 크기로 보기 (새 탭)
원본 크기로 보기 (새 탭)핵심 기능
- 주변 관광지 퀘스트 생성
- 한국관광공사 TourAPI로 받은 주변 장소를 방문·사진·수집·기록 퀘스트로 만듭니다.
- GPS 도착 인증
- 서버가 인증 반경, GPS 정확도, 퀘스트 유형별 조건을 확인하고 같은 요청이 두 번 처리되지 않게 막습니다.
- 장소마다 다른 인증 방식
- 도착만으로 끝나는 방문형 외에 사진 촬영, 사진 여러 장 수집, 퀴즈, 한 줄 기록 인증을 지원합니다.
- 경험치 배율 보상
- 앱 내 최근 인증 수로 계산한 혼잡도, 첫 방문 지역, 평일 오전, 연속 활동에 따라 경험치 배율이 달라집니다.
- 퀘스트 지도
- 카카오맵에서 보이는 영역의 퀘스트를 유형·난이도별 마커로 보여 주고, 기기 센서로 바라보는 방향을 표시합니다.
- 배지 컬렉션
- 배지 13종(숨김 1종 포함)을 모으고, 대표 배지를 3개까지 고를 수 있습니다.
- 오프라인 인증 보관
- 네트워크 문제로 실패한 인증을 기기에 보관했다가 앱을 다시 열거나 다시 시도할 때 서버로 보냅니다.
기술 스택
언어
- Dart
- Flutter 앱 코드
모바일
- Flutter
- Android 앱과 그 화면
- Kakao Maps API
- 퀘스트 지도의 유형·난이도별 마커, 진행 화면의 목적지·인증 반경·현위치·방향 표시
데이터
- TourAPI
- 위치기반 관광정보(locationBasedList2)로 주변 장소를 받아 퀘스트 생성
함께 쓴 라이브러리·도구
모바일
- Kakao Login
- 카카오 계정 로그인
- Google Sign-In
- 구글 계정 로그인
같은 기술을 쓴 다른 프로젝트구도리 (GUDORY)Dayce
구조
Flutter Android 앱이 Express REST API를 호출하고, 서버는 Prisma로 PostgreSQL에 데이터를 저장하며 한국관광공사 TourAPI로 주변 장소를 받아 퀘스트를 만듭니다. 인증 사진은 앱이 AWS S3 presigned URL로 직접 올리고, 푸시 알림은 Firebase Cloud Messaging으로 보냅니다.
문제와 해결
문제
릴리스 빌드에서 카카오 로그인 콜백을 받지 못함
해결
빌드 설정의 앱 키로 매니페스트에 콜백 스킴을 넣도록 변경
문제
네트워크가 끊기면 로그아웃됨
해결
연결 실패와 세션 만료를 구분하고 오프라인 안내와 재시도 버튼 추가
문제
작은 화면과 큰 글자 설정에서 화면이 넘침
해결
화면 크기 3종과 글자 1.3배 조합을 검사하는 테스트를 만들고 넘치는 곳 수정
문제
퀘스트 진행 화면의 지도가 장식용 그림이었음
해결
카카오맵에 목적지·인증 반경·현위치·방향을 그리도록 교체
결과
- 원스토어 출시 (2026-09-18, v1.0.0)
- 2026 관광데이터 활용 공모전 웹·앱 구현 부문 제출, 1차 심사 결과 대기 중 (2026-10 기준)
배운 점
- 원스토어에 앱을 처음 출시하며, 로그인 콜백·서명 키·평문 통신 설정처럼 릴리스 빌드에서만 드러나는 문제를 배포 과정에서 확인하고 고쳤습니다.