⎮ DataFlow 작성하기
이전 WeatherWhat 프로젝트 때 DataFlow를 그리며 코드 작성을 했었다
DataFlow로 인해 팀원들 간 원활한 의사소통이 가능하고, 코드 작성 전 로직을 점검할 수 있었던 기억이 있어,
이번 팀프로젝트에서도 DataFlow를 그리고, 코드 작성에 들어가기로 했다
(물론 DataFlow를 그려도 수정해야하는 부분이 생기긴 한다... 하하..)

⎮ 사용하는 API
식당 정보를 가져오기 위해 API를 사용해야 하는데,
네이버 / 카카오 Map은 국내를 기반으로 데이터는 잘 넘어오지만 식당 사진을 받아올 방법이 없었다
https://devtalk.kakao.com/t/map-api/124702/2
카카오map api 이미지 불러오기
@obviously108 안녕하세요, 해당 이미지는 카카오 제공 서비스 내에서만 노출이 가능하며 API로 제공되지 않습니다. 감사합니다.
devtalk.kakao.com
API Response에도 해당 데이터는 없고,
개발자 센터 내 질문답변에도 명확하게 작성되어 있었다
규모가 있는 회사의 경우 B2B로 사용하거나,
자체 영업팀이 있고 자체적으로 구성한 데이터를 사용하는 것 같았다
그 외의 개인 어플에서는 보통 크롤링해서 가져오는 것 같은데,
크롤링은 불법이라는 판례도 있었고 리스크가 있을 수 있어 우리 팀은 사용하지 않기로 했다.
https://www.hankyung.com/article/202404242738i
'여기어때' 사건으로 살펴본 '크롤링'의 적법성 [긱스]
'여기어때' 사건으로 살펴본 '크롤링'의 적법성 [긱스], 경제
www.hankyung.com
우리는 결국 GoogleAPI를 사용하기로 했다
https://developers.google.com/maps/documentation/places/web-service/place-photos?hl=ko-KR
장소 사진 (신규) | Places API | Google for Developers
이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 장소 사진 (신규) 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 플랫폼 선택: Android iOS
developers.google.com
Google Places API 안에는 photos name이라는 항목이 있다
이 name이 이미지는 아니고, 메타데이터 형식으로 넘어온다
따라서 이 메타 데이터를 파라미터로 사용해서 별도의 request를 보내야 한다
https://maps.googleapis.com/maps/api/place/photo?parameters
위 parameters에 해당 메타데이터를 입력해주면, 이미지를 받아올 수 있다
⎮ 트러블 슈팅: API 호출 수 관련
방법을 찾고 나서, 기획을 구체화하는 과정에서 한가지 작은 문제를 발견했다
그것은 바로, API 호출 수가 많아진다는 점....
왜 그런 상황이 발생하냐면,
1. Google Places API에서는 여러 개의 가게를 받아올 수 있음
- 예를 들어, 검색어로 "치킨"을 치면 주변의 치킨집 20개를 받아올 수 있음
2. 해당 치킨집의 메타데이터는 20개
3. 이미지를 받아올 때 request 1번에 여러개의 사진을 요청할 수가 없음
결론 : 1회의 가게 데이터를 받아올 때, 최소 21회의 API 호출이 발생함
이는 google Places API는 1달 10,000건 무료이고,
신규가입 시 주는 300달러 크레딧(약 41만원정도)으로 해결해보고자 한다
다운로드 수가 많아지면, 앱스토어에서 내려야하는 일이 생길 수도 있겠지만..ㅠ
'스파르타코딩 클럽 > 팀프로젝트' 카테고리의 다른 글
| EatsOkay : 당신의 하루를 위한 한끼 (0) | 2025.06.19 |
|---|---|
| 팀프로젝트4 [식당 큐레이팅 앱(3) - Data Model 작성] (0) | 2025.06.11 |
| 팀프로젝트4 [식당 큐레이팅 앱(1) - 앱 기획] (0) | 2025.06.08 |
| 팀프로젝트3 [날씨 앱 만들기(3) - UserDefaults 매니저 구현하기] (0) | 2025.05.25 |
| 팀프로젝트3 [날씨 앱 만들기(2) - Moya 라이브러리 사용기] (1) | 2025.05.25 |