일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 유후인 여행
- 나트랑
- 괌 관광지
- ATM 출금
- 발리 다이빙
- 캐나다워홀
- 유후인 료칸
- 발리 숙소
- 미아리조트
- 아메드 다이빙
- 발리
- 나트랑 여행
- 발리숙소
- 회고
- 발리 여행
- 깜란 리조트
- 발리 가성비 호텔
- 나트랑 리조트
- 야마다야 료칸 후기
- 발리여행
- 샌달스레스토랑
- 발리 아메드
- 후쿠오카
- 캐나다라이프
- 괌 여행지
- 여행 플래너
- 개발기
- 괌 남부투어
- 나트랑 마사지
- 유후인 야마다야 료칸
- Today
- Total
히히낙락
MVP 개발기 #2 | google-place-api 본문
#1에서 서비스의 기획 의도와 간단한 설명을 진행했는데요.
기본 서비스의 구조는 구글 지도를 활용하여 일정을 손쉽게 짜는 것이라 구글 지도에 등록되어있는 업체의 정보를 불러오기 위해서
Google Place API 사용이 필수적이였습니다. 하지만 이 때문에 큰 문제에 부딪히게 되었는데...
문제
구글 API 가 비쌈 (너무)
Readonly Developer
Full Text Search 를 지원하는 Place API 는 무료이나. response 가 id 밖에 오지 않아 업체 정보 조회를 위해서는 단건 조회를 다시 해야 하는 문제가 있다.
카테고리 검색, 업체 location 정보 등 부가적인 기능/정보 가 필요하였기 때문에 Text Search Pricing으로 갈수밖에 없었음.
너무너무 비싸다. ( 100 번 호출하면 내 지갑에서 롯데리아 새우버거가 날라갑니다. )
월 200달러의 크레딧이 존재하긴 하지만 이 가격이라면 하루, 이틀이면 날라것이 분명해보였습니다.😅
호스팅 비용도 아껴써야 하는 사이드 프로젝트에서는 너무나도 부담스러운 가격. 그렇기 때문에 시중의 다른 플래너 서비스에서도 자체 Place DB 를 사용하는 것 같았습니다. (장소 등록 요청/승인 절차가 있습니다.)
사이드 프로젝트이기 때문에 운영적인 CS 를 받을 여유도 없고... 그렇다고 모든 검색을 API 를 사용하자니 당장 내 지갑이 터질 것 같았기 때문에 스크래핑, 크롤링 방법을 사용할까 하였으나 이것은 안정적이지 않고 무단복제에 대한 이슈로 진행하지 못했습니다.
고민하다 떠오르는 방법은 아래와 같습니다.
모든 검색을 Google Search API 를 사용하게 되면 나는 길바닥에 나앉을것이기 때문에
Search API 를 쓰되, 한번 검색된 장소는 DB에 저장해서 다음번에 같은 장소로 검색 시 DB 에서 불러오도록 하였습니다.
물론 이 방법은 유저가 마음에 드는 장소가 없을경우 재검색 버튼을 눌러주어야 하는 단점이 있지만
버튼 클릭 한번으로 API 비용을 아낄 수 있다면 감안할만 하다고 생각했습니다.
이러한 플로우 변경으로 인해 내 지갑은 지켜졌고 Google Search API도 합리적으로 쓸 수 있게 되었습니다.
어뷰징과 무료 크레딧 만료시의 처리는 MVP 이후에 디테일을 잡고, 일단은 이것으로 마무리 하였습니다.
#3에서는 드래그 & 드롭 정렬에 대해 설명할게요
서비스는 여기서 확인하실 수 있어요.
'개발 > 여행 플래너 (가제)' 카테고리의 다른 글
MVP 개발기 #3 | react-beautiful-dnd (0) | 2023.03.14 |
---|---|
MVP 개발기 #1 | 서비스 소개 (0) | 2023.03.14 |