Skip to content

로컬을 즐기고 싶은 여행객과 언어를 학습하고 싶은 현지인 매칭 플랫폼

Notifications You must be signed in to change notification settings

dlguswls456/NativeNavs

Repository files navigation

NativeNavs

SSAFY 11기 2학기 공통 프로젝트


팀원 소개

Tech Stack

FrontEnd

BackEnd

Android

DB

CI/CD

Team Collaboration Tools



Architecture

소개

🌃 기획 의도

관광객과 현지인을 쉽게 연결 할 수 있는 방법이 있을까?

최근 관광이 활성화 되고 있고 외국인 관광객이 많아지고 있는 추세입니다.
하지만 일반적 가이드 투어는 정해진 일정을 무조건 맞추어야 하고 유명한 장소만 들러가는 경향이 강합니다.

이럴 때 현지인이 유동적으로 관광객이랑 조율 하면서 투어를 잡을 수 있도록 만들면 어떨까? 이런 기획이 나오게 되었습니다.

서비스 대상

  • 관광객은 유명한 곳이 아닌 유명하지 않는 곳도 투어 하고 싶고, 한국의 진짜 모습을 바라보고 싶은 사람들도 있음.

  • 또한 관광객들은 광고성 정보 및 신뢰성 낮은 블로그 리뷰들을 싫어함

  • 현지인(가이드)는 이러한 관광객을 직접 투어를 만들어 이끌어 가고 싶은 사람들

  • 한국인은 특히 외국인 관광객을 맞이하면서 자연스럽게 언어 실습 기회를 가지고 싶은 사람들

이러한 사람들을 타겟으로 잡아두었습니다.

💎 서비스 기능

공통

  • 메인 화면에서 올라온 여러 투어 관련 글 볼 수 있음
  • 각 투어 글마다 리뷰 확인 가능
  • 특정 조건 달성 시 스탬프를 획득하는 재미 요소

가이트(현지인) 입장

  • 가이드는 생각해 둔 투어 일정에 대한 글 작성
  • 관광객과 1:1 채팅이 가능하고, 채팅을 통해 협의되었을 경우 예약 가능
  • 둘이 만났을 경우에 QR체크를 통해 확인이 가능

관광객(특히 외국인 관광객) 입장

  • 관심 있어 하는 투어글에 대해 위시리시트에 담을 수 있음
  • 해당 투어에 대해 가이드랑 1:1 채팅이 가능하고, 번역이 가능

🎇 서비스 이용 화면

회원가입 & 로그인

로그인

첫 화면

회원가입

회원가입 절차 모습



이메일 인증 코드 번호

기능

본 화면은 "가이드" 계정을 로그인 했을 경우와 여행객 계정을 로그인 했을 때 각각 다른 기능을 지원함

메인화면 프로필 사진

| | |

왼쪽은 여행객이 로그인 했을 때 , 오른쪽은 가이드 계정 로그인 했을 때
각각 마다 밑에 NavigationBar가 다름

가이드(Navs)

투어 작성

예약 작성

여행객 (Tour)

위시리스트

완료한 투어 목록 및 예약 리스트

채팅 (공통)

채팅 방 목록

영어에서 한국어로 번역이 가능하도록 기능 지원
해당 채팅칸에 터치를 하면 작동하며 다시 터치하면 원래대로 돌아감

가이드(Navs) 입장에선 해당 채팅방에 "예약" 버튼이 활성화가 됨

투어 상세 글

상세 글



가이드(Navs) 입장에선 하단 버튼에서 예약 현황으로 바뀜



Plan(계획) 아이템들을 클릭하면 뜨는 모습

리뷰

(View All Reviews > 버튼을 누르면 들어가짐)

리뷰 포토들 목록

예약 리스트(관광객전용) & 예약 상세(공통)

각각 예약 목록들(투어 관광객에 보여주는 것)

나의 투어 작성 목록 및 예약 현황 (가이드 전용)

가이드 입장에서 본인이 작성한 투어글들 볼 수 있고
해당 글들에 대해서 예약 목록을 볼 수 있음

(예약 목록 보는 방법은, 투어 상세 페이지로 들어가야 볼 수 있음)

QR

예약 상세에보기에서 만남 날짜 때 QR 버튼이 나타남

관광객 입장에선 QR이 보이고, 가이드 입장에서 카메라가 열리는 구조로 되어 있음 가이드가 관광객 QR를 찍음으로써 만났다는 인증이 되는 방식

알림

예약이 완료되었는 등의 이벤트 가 발생하면 알림이 발생함

스탬프

🔨 사용한 기술

Hybrid App

이 프로젝트는 모바일 앱 안에 웹 뷰 (Webview)를 띄우는 방식을 사용하였습니다.
따라서 앱에서 미리 함수를 정의하여, 이를 웹에서 실행하면 마치 앱에서 함수를 실행하는 효과를 가질 수 있습니다

반대로 웹에서 미리 함수를 정의하고, 앱에서 이를 읽어서 명령어를 실행시키는 방식도 가능합니다

FCM 활용한 푸쉬 알림 기능

WebSocket & STOMP

WebSocket

웹 소켓을 활용하여 실시간 채팅을 활용함 - 채팅방에서 유용하게 사용함

STOMP

웹 소켓 위에서 동작하는 메시징 프로토콜이며
텍스트 기반 간단한 명령여를 사용하여 - 클라이언트 과 서버 간 메세지 교환이 손쉽게 이루어 질 수 있음

QR

zxing 라이브러리를 활용하여 QR를 생성함
스캔 후 모바일에 저장된 유저 토큰을 활용하셔 인증 처리 및 스탬프를 발급

About

로컬을 즐기고 싶은 여행객과 언어를 학습하고 싶은 현지인 매칭 플랫폼

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published