[프로젝트] 워크앳 - 카공 카페 지도, 3일만에 어플리케이션 서비스 제작하기

NoeG·2022년 9월 5일
1

프로젝트

목록 보기
2/2

요즘 새로운 취미가 생겼습니다.
카페 탐방인데 좀 독특합니다.
커피맛, 디저트맛, 사진 명소 다 관심 없는 사람입니다.
그런데 카페의 매력을 알게 되었습니다.
바로 분위기 좋은 카페에서의 작업입니다.

매일 다니던 도서관과 동네 프랜차이즈 카페에서 벗어나 새로운 카페에 입성해보았습니다.
새로움이 주는 신선함과 선곡에서 나오는 흥겨움, 세련된 분위기 속에서 능률이 높아지는 걸 느끼면서 매력을 느끼게 되었습니다.
(커피는 원래 달고 삽니다..)

이 속에서 빠르게 서비스를 기획해서 어플리케이션으로 제작 후 배포를 해보았습니다. 단 3일만에요.

그 과정을 소개하고자 합니다.

기획 - 9/2 금 (0.5일)

사실 '기획자는 사용자가 아니다'라는 말이 있지만 그저 흥미로워서 시작한 사이드 프로젝트이기에 하고 싶은대로 기획해보았습니다.

기획의 큰 틀은 간단했습니다.

작업하기 좋은 카페를 사용자들에게 소개하는 것으로 중요 요소는 다음과 같았습니다.

1.지도로 나타나서 쉽게 찾을 수 있을 것
2.간단한 정보들로 적절한 카페를 탐색 후 타 서비스를 이용해 추가 정보를 얻어야하는 번거로운 과정을 생략할 수 있도록 할 것
3.맛과 가격보다 카페 본연의 분위기가 더욱 중요한 정보로 제공될 것
4. 작업을 위해 방문하게 되므로 외관사진, 실내사진, 영업 시간 등의 정보는 정확할 것

1번 요소

이를 구현하기 위해 국내 지도 API를 사용하였습니다. 국내 사용자들에게 구글 지도나 애플 지도에 비해 익숙한 UI이며 개발하고 있는 서비스의 지도와 비슷한 UI를 가지고 있는 쏘카에서 사용하는 Naver API를 채택했습니다. 쏘카와 같은 기업에서 선택한 것에 의문을 가지지 않았습니다. (추후 이는 개발 과정에서 문제로 나타나는데..)

2번 요소

타 맛집, 카페, 여행 정보 등을 제공하는 어플리케이션 서비스에서는 자체 데이터를 구축하고 있었으나 본 프로젝트는 매우 간단히 기획하고 구현하여 빠르게 배포하는 것이 목표였기에 적합한 방법을 찾아야했습니다.

바로 웹 링크로 연결하는 것이었습니다. 사용자들이 식당이나 카페 정보를 찾기 위해서 네이버 지도를 자주 이용한다는 것에서 착안하여 네이버 검색 결과가 나타나도록 하였습니다. 물론 크롤링은 사용하지 않았고 그저 간단한 카페 정보를 클릭하면 웹뷰에서 네이버 검색을 해주는 방식으로 구현하였습니다.

3번 요소

이는 본 서비스의 경쟁력이자 정체성과 같기에 데이터 수집에 있어 가장 어려운 부분이었습니다. 추후 사용자 리서치 및 잠재 고객 분석을 통해 적절한 Feature를 찾아내고자 합니다. 해당 요소로 인하여 스토어에 등록할 때에는 신촌이라는 작은 지역 내에서 일부 점포 정보만을 제공하였습니다.

4번 요소

4번 데이터는 3번 데이터에 비해 비교적 수집이 쉬운 편입니다. Feature가 이미 명확하기 때문입니다. 그러나 법적인 문제에 걸릴 가능성이 높기에 자체적인 데이터를 수집해야하는 혹은 유저로부터 받아야하는 작업 리소스가 발생하는 부분입니다. 마찬가지로 일부 점포 정보만을 수집하여 등록해두었습니다.

개발 - 9/2 금 ~ 9/3 토 (1일)

개발 환경 : Mac OS, Intellij, IPhone 13 실기기

빠른 개발이 목표였기에 기술 스택은 MVP 제작에 적합한 Flutter와 Firebase, SQLite를 선정하고 Naver Map API를 적용하였습니다.

디자인적으로 복잡하게 구현된 부분은 없어서 Flutter로 클라이언트를 구현하는 과정은 어렵지 않았습니다. 또한 Firebase Firestore를 통한 DB 구축 또한 Flutter에 너무나 최적화가 잘 되어있기도 하고 서비스에서 복잡한 구조의 데이터를 사용하지 않아 크게 어렵지 않았습니다.
그러나 몇 가지 난관이 발생하였습니다.

1. Flutter에서의 Naver Map 사용

Naver Map API를 적용하는 것은 어렵지 않았습니다. flutter_naver_map 라이브러리를 사용하였고 IPhone 13 실기기에서도 잘 동작하는 것을 확인할 수 있었습니다. 그러나 다른 과정에서 오류가 발생했는데 다름 아는 안드로이드 기기에서 동작하지 않았던 것입니다. 최근 Flutter 3.0으로 버전이 업데이트되며 라이브러리가 이를 반영하지 않았던 것입니다.
디버깅 결과 Kotlin에서 발생하는 오류로 스스로 해결이 어렵다는 것을 느끼고 많은 검색과 질문을 통해 알맞는 코드를 찾아 해결하였습니다.
(Naver님.. 공식 Flutter 라이브러리 출시를 부탁드려요..)

본 난관을 통해 하이브리드 프레임워크를 사용하더라도 네이티브 언어에 대한 지식이 왜 중요한지 깨닫게 되었습니다.

2. 데이터 자료형 오류

사실 이는 실수에 가까운데 아직 DB를 관리할 수 있는 환경을 구축하지 않고 직접 데이터를 주입하는 방식으로 구현을 했습니다. 목표는 빠르게 구현이었으니까요. 그 과정에서 잘못된 자료형을 기입하여 오류가 발생하였는데 오류의 원인은 빠르게 찾았지만 추후 이런 일이 다시는 발생하지 않도록 조치를 취할 필요가 있다는 것을 느꼈습니다.

그래서 다음 개발 목표 또한 운영을 위해 DB에 점포 정보 등의 데이터를 쉽게 주입할 수 있는 관리 페이지를 만드는 것으로 정하였습니다.

빌드 및 배포 - 9/4 일 (1일)

가장 힘들었던 단계

앱스토어와 플레이스토어 모두 심사 등록을 마쳤습니다.
사실 앱스토어는 권한 안내 규정을 만족시키지 못해 반려가 되어 재등록을 한 상태이고 구글 플레이스토어는 무기한 기다리는 중입니다.
구글 플레이스토어의 심사가 최근 많이 지연되고 있다는 말을 들었는데 실제로 앱스토어가 훨씬 빠르게 심사가 진행되었습니다.

빌드부터 어플리케이션 등록 과정에 대해서는 추후 포스팅을 하도록 하겠습니다.

중요한 것은 등록을 위하여 미리보기 이미지, 앱 클립 등을 제작하는 것은 너무나도 힘들었습니다...
요구하는 해상도도 너무 다양하고 하루 종일 스토어 등록을 위해 작업을 진행하였습니다.
그래도 한 번 등록해두면 크게 변동사항이 생기지 않는 이상 반복되는 일이 없어서 이제는 안심입니다.

결론

아직 양쪽 스토어 모두 심사가 진행 중입니다.
심사가 완료되는대로 어플리케이션을 소개하도록 하겠습니다.

다음 계획은 데이터 수집 및 유저 리서치를 통한 라벨링과 함께 DB 관리자 사이트 구축을 진행할 계획입니다.

금요일부터 일요일까지 3일이라는 시간 동안 열정을 담아 진행해보았는데 꽤 만족스러운 결과를 얻을 수 있었던 것 같습니다. 무엇보다 빠르게 기획하여 구현하자는 목표를 달성한 것이 가장 큰 성과였던 것 같습니다.

다음 업데이트에서 찾아뵙겠습니다.

profile
아이디어를 세상에 꽃 피워보기

1개의 댓글

comment-user-thumbnail
2022년 12월 8일

혹시 "디버깅 결과 Kotlin에서 발생하는 오류로 스스로 해결이 어렵다는 것을 느끼고 많은 검색과 질문을 통해 알맞는 코드를 찾아 해결하였습니다." 이부분 어떻게 해결하셨는지 알려주실 수 있을까요..?ㅠㅠ

답글 달기