DOI QR코드

DOI QR Code

A Design and Implementation of Local Festivals and Travel Information Service Application

  • Jae Hyun Ahn (Dept. of Computer Science & Engineering, Inha Technical College) ;
  • Hang Ju Lee (Dept. of Computer Science & Engineering, Inha Technical College) ;
  • Se Yeon Lee (Dept. of Computer Science & Engineering, Inha Technical College) ;
  • Ji Won Han (Dept. of Computer Science & Engineering, Inha Technical College) ;
  • Won Joo Lee (Dept. of Computer Science & Engineering, Inha Technical College)
  • Received : 2023.10.04
  • Accepted : 2023.10.23
  • Published : 2023.11.30

Abstract

In this paper, we design and implement the Walking Life Festival application, which is based on the Android platform and provides information about domestic travel destinations and regional festivals in South Korea. This application utilizes various sensors found in smartphones, including the Step Counter sensor, Step Detector sensor, Acceleration sensor, and GPS sensor. Additionally, it makes use of Google Map API and Public Open API to offer information about domestic travel destinations and local festivals. The application also incorporates an automatic login feature using the Shared Preference API. When storing login information in the database, it encrypts the input plaintext data using a hash algorithm. For Google Maps integration, it creates objects using the Google.maps.LatLngBounds() method and extends the location information through the extends method. Furthermore, this application contributes to the activation of the domestic tourism industry by notifying users about the timing of local festivals related to domestic travel destinations, thus increasing their opportunities to participate in these festivals.

본 논문에서는 안드로이드 플랫폼 기반의 국내 여행지 및 지역 축제 정보를 제공하는 Walking Life Festival 애플리케이션을 설계하고 구현한다. 이 애플리케이션은 스마트폰 내장 센서 중 걸음 횟수 센서(Step Counter Sensor)와 걸음 감지 센서(Step Detector Sensor), 가속도 센서(Acceleration Sensor), GPS 센서 등을 활용한다. 그리고 Google Map API와 Public Open API를 활용하여 국내 여행지 및 지역 축제정보를 제공한다. 이 애플리케이션은 Shared preference API를 사용하여 자동 로그인 기능을 구현한다. 그리고 로그인 정보를 데이터베이스에 저장할 때는 해시 알고리즘을 통해 입력된 평문 데이터를 받아서 암호화하여 저장한다. Google Map은 Google.maps.LatLngBounds() 메서드를 활용해서 객체를 생성한 후 extends 메서드를 통해 위치정보를 전송하도록 구현한다. 또한, 이 애플리케이션은 국내 여행지와 관련된 지역 축제 개최 시기를 알림으로써 축제 참여 기회를 높임으로써 국내 관광 산업 활성화에 기여한다.

Keywords

I. Introduction

오늘날 현대인들은 일상생활에서 할 수 있는 여가 활동으로 산책과 걷기 운동에 가장 만족감을 느낀다[1]. 이러한 운동의 장점은 장소에 구애받지 않으며, 별다른 준비 없이 가볍게 즐길 수 있고, 때로는 누군가와 함께 시간을 보내기에도 좋은 여가 활동이다. 하지만, COVID-19의 장기화로 방역 규제 때문에 여가 활동을 하지 못한 사람이 대부분이었다[2]. 또한 여행을 즐기던 사람들에게는 영업시간 제한, 관광지 폐쇄, 인원 제한, 사회적 거리두기 등의 방역방침으로 여가 활동에 제한적일 수밖에 없었다. 그렇기에 여행 대신에 야외활동을 할 수 있는 산책과 걷기 운동을 주거지 인근에서 즐기는 것으로 여가 활동을 만족해 온 것이다[3-5]. COVID-19 규제가 완화되면서 여행을 즐기는 사람이 증가하고 있는 추세이지만 알려지지 않은 관광지는 관광객 유치에 어려움이 많다[6]. 최근에는 제주도와 강원도 등의 일부 지역만을 선호하던 관광객들이 저 밀집 지역 또는 일일 여행을 선호하는 국내 여행으로 변화하고 있다. 이라한 변화에 따라 국내 여행지 정보를 널리 알리고 지역관광 산업을 활성화 정책이 필요하다.

따라서 본 논문에서는 관광 산업을 활성화 할 수 있는 앱을 설계하고 구현한다. 이 앱은 다음과 같은 기능을 제공한다. 첫째, 관광지 정보 제공 기능을 구현한다. 이 앱을 통하여 국내 관광 저 밀집 지역에 대한 정보를 수집하여 홍보한다. 국내 관광지 쏠림 현상이 발생하는 이유는 이미 많은 사람이 알고 있는 유명 여행지와 달리 정보가 부족하기 때문이었다. 관광지에 대한 정보가 부족하면 경제적인 면에서 부담을 느끼기 때문에 관광객들은 여행을 꺼린다. 둘째, 이 앱에 걸음 수 목표를 부여하여 성취감을 느끼는 기능을 제공한다. 단순하게 만보기를 사용하여 걸음 수를 측정하면 쉽게 실증을 느끼게 된다. 따라서 거리에 따른 열량 계산보다는 앱 사용자의 현 위치와 여행지 간의 거리를 계산하여 걸음 수를 환산하고 목표를 부여한다. 간접적으로 여행하는 듯한 기분을 느끼게 하고, 목표를 달성했다는 성취감을 느끼게 한다. 또한, 걷기 운동만으로 색다른 여행지에 대한 정보를 습득할 수 있게 함으로 잘 알려지지 않은 국내 여행지에 대한 홍보가 가능하다. 셋째, 걷기 운동으로 얻을 수 있는 캐시 기능을 구현한다. 관광지에서 소비를 유도하면서 관광 상품을 구매할 때 경제적 부담을 줄여서 관광산업을 활성화 한다. 마지막으로, 지역만의 특색있는 축제에 대한 정보를 소개하여 그 지역만의 특성을 알린다. 계절에 따라 축제가 열리기도 하고, 특산품 시기에 따라 축제가 열리기도 한다. 관광객들이 축제에서 그 지역만의 특성을 직접 즐기게 한다. 애플리케이션 내의 커뮤니티 기능과 공지 기능을 활용하여 축제 시기와 축제 참여 요소, 축제에 참여한 사람들의 후기 등의 정보를 전달하여 지역 축제에 참여하는 관광객들에게 유익한 정보를 제공한다.

본 논문의 구성은 다음과 같다. 2장에서는 이 애플리케이션에 활용하는 센서 종류 및 기존 앱의 장단점을 비교 분석한다. 3장에서는 앱 설계, 로그인 및 회원가입, UI 등 각 기능에 대하여 설계한다. 4장에서는 UI 및 메서드 기능을 정의하고 구현한다. 그리고 5장에서 결론으로 끝을 맺는다.

II. Preliminaries

1. Related works

안드로이드 플랫폼 및 iOS에서 제공하는 기본 센서와 핵심 기술에 대하여 알아본다.

1) Pedometer

Pedometer를 구현할 땐 TYPE_STEP_DETECTOR와 TYPE_STEP_COUNTER 하드웨어 센서를 활용한다. TYPE_STEP_DETECTOR는 사용자의 발이 지면에 닿는 것을 감지하여 1을 반환한다. TYPE_STEP_COUNTER는 동작센서가 작동할 때마다 1씩 증가한 값을 반환하고 스마트폰이 종료되면 0으로 초기화된다. TYPE_STEP_COUNTER는 스마트폰이 종료되면 값이 0이 되기 때문에 앱을 종료하면서 걸음 수도 같이 초기화할 수 있도록 종료 버튼에 리셋 이벤트를 추가한다. 이제 TYPE_STEP_DETECTOR가 1을 반환할 때마다 TYPE_STEP_COUNTER가 리턴값을 받아서 프런트엔드단에 카운팅 한 값을 보여줄 수 있게 onSensorChanged() 메서드를 활용해서 코드를 작성한다. 마지막으로 센서를 동작시키기 위해서 ACTIVITY_RECOGNITION PERMISSION 설정한다.

Table 1. Pedometer Android / iPhone

CPTSCQ_2023_v28n11_65_t0001.png 이미지

Pedometer는 안드로이드와 아이폰 모두 명확히 Pedometer가 내장되어있다고 명시되어 있지 않지만 가속도 센서를 통해서 Pedometer를 구현할 수 있다. 우선 안드로이드는 TYPE_STEP_DETECTOR와 TYPE_STEP_COUNTER로 나뉘어 구현할 수 있다. TYPE_STEP_DETECTOR는 무조건 1로 리턴해야 하며 TYPE_STEP_COUNTER는 애플리케이션 종료 여부와 관계없이 기존의 값을 가지고 있다가 1씩 증가한 값을 반환한다. 안드로이드의 두 가지 가속도 센서 중 하나를 선택하려면 애플리케이션 상단에 Notification을 출력해도 되는지에 따라 나뉜다. Android OS 8.0 이후부터 백그라운드 앱을 실행하면 startForeground() 메서드를 호출하여 Notification을 출력하여 사용자에게 알려줘야한다. iOS는 Petometer를 Health에 사용하고 있으며 아이폰, 애플워치, 앱 등에 사용되고 있다. 단위는 G 값으로 나타내고 있으며 자이로 센서와 함께 사용하여 인식한다.

2) GPS Sensor

스마트폰 내의 GPS 센서는 사용자의 실시간 위치 추적을 위해 사용된다[7, 8]. 스마트폰 내장 센서인 GPS 센서를 활용하여 현재 진행 중인 축제 또는 국내 여행지와 사용자 위치를 GPS 좌표로 거리를 계산하여 평균 걸음 수를 도출한다. 도출한 평균 걸음 수는 사용자가 목적지까지 도보로 이동하는 걸음 수이다. 걸음 수 도출 방법은 보폭의 길이(사람의 신장 0.45(보통 걸음 속도))로 계산하는 것이 일반적이지만, 평균 보폭의 길이 1m를 기준으로 가정하고 0.001km로 환산하여 거리를 계산한다. 거리 계산에 불필요한 소수점들은 편의를 위해 반올림한다. Google Map API로 목적지의 위치와 GPS 센서를 통한 사용자의 위치를 시각화하여 보여준다.

GPS는 안드로이드와 아이폰에 따라 성능이 다음과 같이 차이가 있다.

Table 2. GPS Sensor Android / iPhone

CPTSCQ_2023_v28n11_65_t0002.png 이미지

표 2와 같이 GPS는 필수 요소이기에 안드로이드와 아이폰에 모두 포함되어 있다. 하지만 안드로이드는 속도 및 정확도에서 아이폰을 앞서고 있다. 갤럭시 워치는 애플워치보다 측정 거리가 1.6km 정도나 차이가 나며, GPS 수신 속도 또한 느리다. 하지만 안드로이드 폰과 아이폰을 비교하게 된다면 안드로이드가 앞선다. 이를 뒷받침 하는 내용은 아이폰의 GPS 경우 장애물 때문에 정확도가 떨어지는 문제를 보완하기 위한 기존의 네트워크 방식을 활용하는 A-GPS 기능을 사용하고 있다. 이는 GPS의 느린 수신 속도와 위치의 정확도를 위성 데이터에만 의존하지 않기 위한 아이폰만의 GPS 기법이었지만 아직 실패도가 높고 오차가 크기에 안드로이드의 안드로이드 14 pro 사용을 추천한다.

3) GoogleMap API

Google Map API는 Google Map Platform에서 API키를 발급받아 사용할 수 있다[9]. 결제정보를 입력한 후, API 스크립트를 받으면 원하는 대로 커스텀하여 지도를 출력한다. 스크립트에 API 키를 입력한 뒤, latitude와 longtitude에 따라 지도를 보여준다. 현재 애플리케이션에서는 지역 이름에 따라 latitude와 longtitude를 받아 출력한다. 마커로 위치를 표시할 때는 Google.maps.Marker()를 사용한다. 지도 객체 조정은 Google.maps..LatLngBounds()로 객체를 생성한 후, extends() 메서드를 호출하여 위치정보를 전달한다. 그리고, fitBound() 메서드를 이용하여 지도 경계 객체를 전달한다. 클릭 시 Google.maps.InfoWindow() 생성자로 Click event를 발생하여 정보창을 생성한다. 이와 같은 생성자와 매서드를 다양하게 이용하여 API를 통해 사용할 수 있다.

2. Bench-marking

대표적인 관광 관련 벤치마킹 어플들의 장단점은 표 3과 같다.

Table 3. Bench-marking

CPTSCQ_2023_v28n11_65_t0003.png 이미지

표 3에서 앱 캐시야는 대중적인 앱으로 현금 인출이 가능하고 수익을 얻는데 소요 시간이 2~3분 정도로 꽤 길고 저녁마다 클릭해줘야 한다는 번거로움을 가지고 있다. 캐시비란 앱은 캐시야와 다르게 소요 시간이 10초 정도로 매우 빠른 편이었지만 최대 포인트 적립에 한도가 있다는 또 다른 단점을 갖고 있었다. 캐시워크의 경우에는 소비자에게 UI의 편리함을 제공해주고, 저전력 배터리 소모 기능을 제공하지만, 수수료가 높고 포인트 사용기간이 짧다는 불편함이 있다. H.Point는 과대광고가 없고 포인트를 상품권으로 교환하여 오랫동안 보관 가능하다는 장점이 있지만, 포인트 사용처의 단가가 비싸고 상품권 교환이 현대백화점에 방문하여야 사용할 수 있다는 단점을 갖고 있다. 이외 오락 OK 캐쉬백 앱과 같은 경우는 다양한 콘텐츠로 소비자에게 즐거움을 안겨주지만, 포인트 양이 매우 미흡하다는 단점이 있었다. 또한 소비자들이 캐시 관련된 불편함 및 소요 시간에 관한 불편함을 느끼고 있다. 이러한 불편함을 해결할 수 있는 앱 개발이 필요하다.

III. Design of Walking Life Festival Application

본 논문에서는 다양한 여행 정보를 제공함으로써 여행지의 불편함을 해결할 수 있는 ‘Walking Life Festival’ 앱을 설계하고 구현한다. 이 앱은 여행지 방문 시 획득하는 스탬프 랠리 시스템과 일지 기능 등으로 포인트를 쉽게 얻을 수 있도록 하는 시스템을 구현한다. 또한 두 걸음당 1원 및 여행지 관련 추천 콘텐츠 및 다양한 재미를 줄 수 있는 콘텐츠를 제공한다. 또한, 이 앱은 걷기 운동에 쓰이는 만보기 기능과 국내 여행지 정보 및 지역 축제에 대한 다양한 정보를 접목한 건강과 여가 활동을 지원한다. 이 애플리케이션은 걸음 횟수 센서(Step Counter Sensor)와 걸음 감지 센서(Step Detecter Sensor), GPS 센서, Pedometer 기능을 활용하여 구현하며, 공공데이터 포털 Open API와 Google Map API를 통해 국내 여행지 및 국내 지역 축제 정보를 사용자에게 제공한다.

Walking Life Festival 애플리케이션의 구성은 그림 1돠 같다.

CPTSCQ_2023_v28n11_65_f0001.png 이미지

Fig. 1. Walking Life Festival Application Overview

그림 1의 메인화면에서는 회원, 비회원 여부를 구분하고, 로그인한 후 걷기 통계, 캐시 사용처, 걷기 시작, 소식, 여행 일지 화면으로 전환할 수 있도록 구성한다. 또한, Walking Life Festival 애플리케이션은 걸음 횟수 센서와 걸음 감지 센서, GPS 센서, Google Map API을 활용한다. 또한, 공공데이터 포털 Open API를 활용하여 지역 축제 및 국내 여행 정보를 제공한다.

1. Database 설계

애플리케이션을 개발할때 DBMS 선택은 중요한 요소이다. DBMS의 종류에는 데이터 간의 관계를 정의하는 R-DB(Relational Database)와 다양한 방식으로 데이터를 표현하는 Non-SQL이 있다. R-DB는 주로 애플리케이션 내의 데이터가 정형화 되어 있고, 데이터의 정보가 자주 변경이 될 때 활용하면 가장 높은 효율을 보인다. 반대로 Non-SQL은 애플리케이션 내에 비정형 데이터가 대량으로 저장되어 데이터 간의 관계를 정의하기 힘들고, 정보가 자주 변경되지 않는 상황에 활용하면 높은 효율을 보인다. 애플리케이션의 목적과 맞는 DBMS를 선정하기 위해 두 DB 시스템의 상대적인 성능을 비교하면 표 4와 같다.

Table 4. Database Comparison

CPTSCQ_2023_v28n11_65_t0004.png 이미지

1) Database Utilization Plan

‘Walking Life Festival’ 앱에서는 R-DB와 Non-Relational Database를 동시에 구축한다. Social Networking Service Management에서는 대량의 비정형 데이터가 저장되는 SNS의 특성을 non-relational database의 장점인, 구조를 미리 정해놓지 않고 처리하는 방식으로 관리하고 Member Managemant System에서는 정형화된 회원 데이터를 효과적으로 관리하기 위해서 relational database를 활용하여 무결성이 위배되는 것을 사전에 예방한다. 본격적으로 Database를 활용하기 위해선 JSON 파일을 app 디렉터리에 업로드하고 Database를 생성해야 한다. 생성 후에는 회원데이터가 저장될 때 서버에 사용자 ID토큰을 전송해서 무결성을 체크하고 UID를 추출해서 relational database Table에 저장한다.

2. User-Permission

앱 개발과정에서 인터넷 접속, GPS, 네트워크 등을 활용하려면 사용자 권한을 설정해야 한다. 안드로이드 플랫폼에서는 user-permisson을 manifests.xml 파일에 지정한다. Walking Life Festival 앱은 SNS를 메인으로 활용하고 만보기 기능을 활용하기 때문에 permission.INTERNET, permission.ACCESS_NETWORK_STATE, permission. ACTIVITY_RECOGNITION, permission.ACCESS_FINE_LOCATION 등을 manifests.xml 파일에 지정한다.

IV. Implementation

본 논문에서 구현하는 Walking Life Festival 앱은 기본적으로 안드로이드 14 pro에서 실행하도록 한다. Walking Life Festival 앱의 로그인 화면은 그림 2와 같다.

CPTSCQ_2023_v28n11_65_f0002.png 이미지

Fig. 2. Login Screen​​​​​​​

그림 2의 로그인 화면에서는 로그인 버튼과 비회원 버튼을 표지판 이미지를 활용해서 UI를 구현한다. 회원, 비회원 여부에 따라 메인화면이 다르게 실행되도록 구현한다. 사용자가 비회원으로 로그인하면 앱의 주요 기능들은 사용할 수 있지만 캐시 적립 및 사용, 걷기 통계기록 등을 비활성화하여 사용할 수 없다.

1. Implement Auto-login

사용자가 로그인을 시도하면 로그인 화면에 입력한 아이디와 패스워드를 회원 데이터베이스에 저당된 사용자 계정과 패스워드와 비교한다. 이때 사용자가 로그인하면 향후에 이 앱을 다시 로그인할 때 자동으로 로그인되도록 구현한다. 자동 로그인 기능은 Shared preference API를 사용하여 구현한다. Shared preference는 Key-Value 형식으로 데이터를 저장하며 애플리케이션이 삭제되기 전까지 저장한 데이터를 보존한다.

2. Protect login data

Walking Life Festival 앱은 SNS와 연동하기 때문에 로그인 정보를 암호화하여 저장하는 보안 정책을 구현한다. 따라서 이 앱에서는 패스워드를 데이터베이스에 저장할 때 해시 알고리즘을 통해 입력된 평문 패스워드를 받아서 암호화하여 저장한다.

CPTSCQ_2023_v28n11_65_f0003.png 이미지

Fig. 3. Feature Implementation Screen​​​​​​​

단순히 해시 알고리즘만 사용한다면, 레인보우 테이블을 통해서 알아볼 수가 있다. 따라서 랜덤 문자열을 넣는 salt 작업을 같이 진행해서 암호화한다. 메시지 + salt 값을 해시 알고리즘을 진행해 digest 결괏값을 나오게 하였다. 이 때 byteToString 선언으로 for문을 통하여 16진수 문자열로 반환한다. 초기에 STRETCH_SIZE를 1000으로 선언하고, for문에서 STRETCH_SIZE에 도달하기 전까지 비밀번호 + salt 값에 대한 해시값을 반환하도록 구현한다.

3. Image Output Implementation

로그인을 통해 앱에 접속하면 가장 인기 있는 지역 축제의 사진 5가지를 나열하도록 ViewPager2를 활용해서 구현한다. setOffScreenPageLimit() 메서드는 한 페이지로 지정하고, set Adapter() 함수를 활용해서 어댑터를 연결한다. 페이지를 변경했을 때 해당 위치를 전달해서 Indicator가 변경된다.

4. Pedometer & GoogleMap Implementation

pedometer의 메서드는 시작, 리셋, 카운트 등을 구현한다. 센서를 통하여 걸음을 인지하면 1씩 카운트되어 화면에 출력하도록 구현한다. onSensorChanged() 메서드를 활용하여 백엔드단에서 카운트되는 값을 프론트엔드 단으로 연결해 준다. 메서드에는 하드웨어를 통해 동작이 인지되어 TYPE_STEP_DETECTOR가 1을 반환할 때마다 사용자에게 보이는 화면의 카운터가 +1씩 카운트되도록 기능을 구현한다. Google Map은 Google.maps.LatLngBounds() 메서드를 활용해서 객체를 생성한 후 extends 메서드를 통해 위치정보를 전송한다. 사용자가 앱에서 GPS를 켜놓지 않으면 GoogleMap은 LatLng에 기본 위치로 설정한 위치정보가 출력된다. 이러한 상황을 방지하기 위해 onCreate() 메서드에서 통합 위치정보 제공자 클라이언트의 인스턴스를 만들고, getLastLocation() 메서드를 활용해서 사용자의 마지막 위치기록을 저장했다가 다시 앱을 사용할 때 위치정보를 출력한다. 만약 사용자의 위치를 알 수 없다면 마지막으로 저장된 위치정보를 출력한다. 맵 구현 클래스에서는 onCreate(), onStart(), onMapReady(), startLocationUpdates(), onStop() 등의 메서드를 실행한다. 1초마다 현재의 위치를 업데이트해서 사용자에게 반환한다.

V. Conclusions

본 논문에서는 걷기 운동과 함께 여행을 좋아하는 사용자를 위해 지역 축제 및 국내 여행지 정보를 제공하는 Walking Life Festival 앱을 설계하고 구현하였다. 공공데이터 포털 Open API를 기반으로 국내 여행지와 지역축제에 대한 정보를 제공하지만, 존재하는 정보에는 한계가 있다. 이러한 한계를 해결하는 방안으로 제한적인 정보들을 보완할 수 있도록 Review-여행일지 기능을 구현하였다. 그리고 애플리케이션 사용자에게서 새로운 정보들을 공개 허용 여부에 따라 수집하여 다른 사용자에게 재제공하는 구조로 설계하였다. 이러한 끊임없는 정보들로 사용자의 관심 또한 끌어내야 한다. 그러므로, 향후를 위한 애플리케이션 이용자의 흥미를 유발할 수 있는 액션 기능을 추가하도록 고려할 필요가 있다. Google Map API와 GPS 센서를 활용하여 사용자 간의 위치 공유를 이용한 간단한 게임, 생활 편의를 위한 숙소 정보 또는 편의시설 정보 추가와 캐시 이벤트 등의 다양한 기능을 고안하여, 지속적인 서비스를 제공할 수 있도록 개선해 나아가고자 한다.

References

  1. https://www.newsis.com/view/?id=NISX20220621_0001914343, Consumerinsight "A survey on leisure, culture, and sports"
  2. "2020 National Travel Survey," pp. 208~209, Nov. 2020.
  3. "National Leisure Activities Survey", pp. 33-36, Dec. 2021.
  4. Maaret Posti, Johannes Schoning, and Jonna Hakkila.,. "Unexpected Journeys with the HOBBIT: the Design and Evaluation of an Asocial Hiking App." DIS '14: Proceedings of the 2014 conference on Designing interactive systems, pp. 637-646, June 2014, https://doi.org/10.1145/2598510.2598592
  5. Rungting Tu, Peishan Hsieh, Wenting Feng, "Walking for fun or for "likes"? The impacts of different gamification orientations of fitness apps on consumers' physical activities," Sport Management Review, Vol. 22, Issue 5, pp. 682-693, Nov. 2019, https://doi.org/10.1016/j.smr.2018.10.005
  6. "National Travel Survey", pp. 1-5, June. 2023.
  7. A.Y. Kang, T.H. Lee, N.K. Lee, W.J. Lee, "A Design and Implementation of Bus Information Notification Application," Journal of The Korea Society of Computer and Information (ISSN 1598-849X), Vol. 26, No. 6, pp. 81-88, June 2021, https://doi.org/10.9708/jksci.2021.26.06.081
  8. W.L. Kim, H.W. Ham, S.U. Yun, W.J. Lee, "A Design and Implementation of Speech Recognition and Synthetic Application for Hearing-Impairment," Journal of The Korea Society of Computer and Information (ISSN 1598-849X), Vol. 26, No. 12, pp. 105-110, Dec. 2021, https://doi.org/10.9708/jksci.2021.26.12.105
  9. https://developers.google.com/maps?hl=ko, Google Maps Platform.
  10. http://cashya.xyz/
  11. https://www.cashbee.co.kr/
  12. https://cashwalk.com/
  13. https://www.h-point.co.kr/
  14. https://www.okmall.com/
  15. https://www.rocketpunch.com/companies/ohgoon