어제 스타 집계 없음—3dollars-in-my-pocket-ios, 붕어빵 지도 오픈소스로 바로 쓸 수 있을까요?
PR 하나 리뷰하려고 열었는데 변경 파일은 산더미고, 레거시 iOS 화면 하나 따라가다 보면 하루가 사라집니다. 그런데 3dollars-in-my-pocket-ios의 어제 스타 증가 수치는 집계되지 않았습니다. 현재 스타는 222개, 포크는 4개입니다. 숫자 하나로 품질을 판단할 상황이 아닙니다. 스타 222개 붙었다고 사내 레포에 덥석 넣었다간, 나중에 누가 왜 이 구조를 택했는지 추적…
① 어제 스타 집계 없음, 그런데 이 붕어빵 지도는 진짜 대안일까요?
PR 하나 리뷰하려고 열었는데 변경 파일은 산더미고, 레거시 iOS 화면 하나 따라가다 보면 하루가 사라집니다. 그런데 3dollars-in-my-pocket-ios의 어제 스타 증가 수치는 집계되지 않았습니다. 현재 스타는 222개, 포크는 4개입니다. 숫자 하나로 품질을 판단할 상황이 아닙니다. 스타 222개 붙었다고 사내 레포에 덥석 넣었다간, 나중에 누가 왜 이 구조를 택했는지 추적하느라 밤새기 딱 좋습니다.
이 저장소가 내세우는 서비스는 전국 붕어빵 지도입니다. README에는 가슴속 3천원이 전국 붕어빵 지도로 시작해 길거리 음식점으로 확장되는 프로젝트라고 적혀 있습니다. 아키텍처는 ReactorKit과 Coordinator 조합이고, UI는 SnapKit 기반 코드로 작성하며, 실제 화면 흐름에 맞춘 Feature별 디렉터리 구성을 사용한다고 설명합니다. 문자열은 Google 스프레드시트에서 관리하고 Xcode 빌드 시 생성한다고도 안내합니다. 설계 의도만 보면 화면이 늘어나는 서비스에 맞춰 역할을 나누려는 방향은 읽힙니다.
문제는 여기서부터입니다. 저장소를 클론하지 못했기 때문에 지도에서 판매점을 보여주는지, 현재 위치와 가까운 가게를 찾는지, 문자열 자동 생성이 실제 코드에 연결됐는지는 대조할 수 없습니다. README의 설명을 구현 사실로 둔갑시키면 안 됩니다. 코드 리뷰를 진행하지 않고 iOS 개발자 1명이 SwiftLint로 자체 점검한다는 고백도 있습니다. 열린 이슈는 0개지만, 이것이 결함이 없다는 뜻은 아닙니다.
v4.42.0이 2026년 9월 20일 공개됐고 최근까지 업데이트가 이어진 점은 긍정적입니다. 반면 저장소 라이선스가 없습니다. 회사 제품에 재사용하거나 장기 유지보수할 때 가장 먼저 법무와 배포 조건을 확인해야 합니다. 결론은 간단합니다. 붕어빵 지도 서비스의 참고 구현으로는 살펴볼 가치가 있지만, 현재 근거만으로 사내 제품의 즉시 대안이라고 부르기는 어렵습니다. 코드를 직접 확인하기 전까지는 “좋아 보이는 앱 저장소” 이상으로 평가하면 곤란합니다.
📌 먼저 보는 핵심 답변 (30초 요약)
- **총점 2.8점, 등급은 '지켜보자'입니다.**: 총점 2.8점, 등급은 '지켜보자'입니다.
- **v4.42.0 릴리즈와 열린 이슈 0개는 긍정적이지만, README 주장 네 항목은 클론 실패로 코드 검증을 하지 못했습니다.**: v4.42.0 릴리즈와 열린 이슈 0개는 긍정적이지만, README 주장 네 항목은 클론 실패로 코드 검증을 하지 못했습니다.
- **저장소 라이선스가 없고 개발 설치 절차도 README에 없어, 회사 도입은 라이선스·환경·데이터 보안부터 확인해야 합니다.**: 저장소 라이선스가 없고 개발 설치 절차도 README에 없어, 회사 도입은 라이선스·환경·데이터 보안부터 확인해야 합니다.

② 클론은 막혔고, README에는 개발 설치 절차가 없습니다
이 저장소는 받아서 뜯어보려 했지만 클론이 되지 않았습니다. 저장소가 크거나 클론 과정이 실패한 범위라서 실제 핵심 디렉터리, 앱 타깃, `AppDelegate`·`SceneDelegate` 같은 진입점은 확인하지 못했습니다. 폴더 구조를 보고 “여기가 홈 화면이고 저기가 네트워크 계층”이라고 단정할 상황이 아닙니다. 스타 222개만 보고 사내 레포에 넣었다간 첫 빌드부터 막힐 수 있습니다.
README가 설명하는 아키텍처는 다음과 같습니다.
text
아키텍처 및 디자인 패턴
- ReactorKit + Coordinator 사용
- Code base로 UI 구현 (SnapKit 사용)
README에는 Feature별 디렉터리 구성도 적혀 있습니다. 실제 앱 화면 접근 흐름과 같은 기준으로 폴더를 나눴다는 설명입니다. 다만 이 내용은 문서상의 설계 설명이지, 이번 확인 범위에서 코드와 대조된 사실은 아닙니다. 붕어빵 판매점 지도, 근처 매장 탐색, Google 스프레드시트 기반 문자열 생성이 실제로 어떻게 연결되는지도 확인할 수 없습니다.
개발자용 설치 절차는 더 아쉽습니다. README의 다운로드 항목은 [AppStore](https://apps.apple.com/kr/app/%EA%B0%80%EC%8A%B4%EC%86%8D3%EC%B2%9C%EC%9B%90-%EB%82%98%EC%99%80-%EA%B0%80%EA%B9%8C%EC%9A%B4-%EB%B6%95%EC%96%B4%EB%B9%B5/id1496099467)와 [PlayStore](https://play.google.com/store/apps/details?id=com.zion830.threedollars) 링크입니다. Xcode 프로젝트를 어떻게 열고, 어떤 스킴을 선택하며, 어떤 설정값을 넣어 개발 빌드하는지는 적혀 있지 않습니다.
필수 기반은 Swift와 iOS/Xcode 계열 환경으로 보입니다. 정확한 Swift 버전, 최소 iOS 버전, Xcode 버전은 README에 적혀 있지 않습니다. ReactorKit, Coordinator, SnapKit, SwiftLint의 실제 패키지 설정도 확인하지 못했습니다. Google 스프레드시트 연동 방식과 API 키가 필요한지, 필요하다면 어디에 주입하는지도 확정할 수 없습니다. 회사 도입 전에는 클론 가능한 상태와 설정 파일, 비밀값 주입 문서를 먼저 확보해야 합니다. 지금 문서만으로는 설치 난이도를 낮게 평가하기 어렵습니다.
③ README의 약속과 코드 검증 사이, 지금은 물음표가 남습니다
README는 이 프로젝트를 “전국 붕어빵 지도”로 소개하고, 사용자와 가까운 판매점을 찾는 서비스로 설명합니다. 장기 목표는 길거리 음식점 전반으로의 확장입니다. 다만 저장소를 클론하지 못해 이 네 가지 약속을 실제 코드와 대조할 수 없었습니다. 검증 결과는 모두 ❓입니다. 전국 판매점 지도 표시 ❓, 사용자 위치 기반 가까운 판매점 검색 ❓, Google 스프레드시트 문자열의 Xcode 빌드 시 자동 생성 ❓, 길거리 음식점 확장 구조와 목표 ❓입니다. ❌라고 단정할 근거는 없지만, ✅로 포장할 코드 근거도 없습니다.
README에 적힌 아키텍처는 ReactorKit과 Coordinator, SnapKit 기반 코드 UI, 기능별 디렉터리 구성입니다. 이 설명은 설계 문서로는 참고할 만하지만 실제 화면 흐름, 지도 데이터 연결, 위치 권한 처리까지 보증하지는 않습니다. v4.42.0 릴리즈에는 Tuist Buildable Folders 전환과 가게 상세 화면의 SDUI 전환이 기록됐고, v4.41.0에는 홈 지도 줌과 범위 이동 변경이 적혀 있습니다. 릴리즈 이력은 개발이 이어진다는 신호이지, README의 모든 기능이 현재 코드에 존재한다는 증명은 아닙니다.
| 구분 | 이 저장소 | 기존/대안 방식 | 실무 권장 |
|---|---|---|---|
| 지도 기능 구현 | 전국 붕어빵 지도·근거리 검색 주장, 코드 대조 불가 | 수동 지도 등록, 별도 지도 SDK·서버 구축 | 위치 권한·검색 로직·데이터 API를 코드로 확인한 뒤 채택 |
| 화면 구조 | ReactorKit·Coordinator·SnapKit·Feature 디렉터리 설명, 코드 대조 불가 | UIKit/SwiftUI 단일 화면 또는 MVVM | 팀 표준과 유지보수 인력에 맞춰 검증 |
| 문자열 리소스 | Google 스프레드시트 관리 및 빌드 자동 생성 주장, 코드 대조 불가 | Xcode Localizable 파일 수동 관리, 별도 생성 스크립트 | 생성 스크립트·실패 처리·시크릿 노출 여부 확인 |
| 코드 리뷰 | README에 코드 리뷰를 진행하지 않는다고 명시 | PR 리뷰, SwiftLint·CI 자동 검사 | 리뷰 책임자와 CI 통과 조건을 먼저 마련 |
| 배포·도입 방식 | App Store·Play Store 링크 제공, 개발 설치 절차 없음 | 사내 문서·패키지 매니저·CI 배포 | 라이선스와 빌드 재현 절차 확인 후 도입 |
결론은 간단합니다. 앱의 방향과 릴리즈 활동은 보이지만, 코드를 확인하지 못한 지금은 “바로 쓸 수 있다”고 말할 단계가 아닙니다.

④ 별 네 개짜리 완성도와 별 하나짜리 라이선스가 충돌합니다
가장 아픈 축은 라이선스·지속성입니다. ★1. 저장소에 라이선스가 없어 회사 도입 시 수정·배포·상업적 사용 조건을 확인하기 어렵습니다. 개인적으로 참고하는 것과 사내 제품의 기반으로 채택하는 것은 전혀 다른 문제입니다. 지금 상태로는 법무 검토와 장기 유지 전략 없이는 안전하다고 말하기 어렵습니다.
설명 일치도: ★3. README는 전국 붕어빵 지도, 가까운 판매점 탐색, Google 스프레드시트 기반 문자열 생성, 길거리 음식점 확장을 설명합니다. 하지만 저장소를 클론하지 못해 코드를 대조할 수 없었고, 검증표의 네 항목 모두 확인 불가로 남았습니다. 설명이 틀렸다고 단정할 수도, 맞다고 보증할 수도 없는 중간값입니다.
설치 난이도: ★3. README에는 AppStore와 PlayStore 다운로드 링크가 있습니다. 사용자 입장에서는 친절하지만 개발자 설치 절차는 보이지 않습니다. Xcode 버전, 의존성 설치, 환경 변수, 백엔드 연결 같은 정보가 빠지면 사내에서 빌드 가능한 프로젝트인지 판단하기 어렵습니다.
완성도: ★4. 저장소 근거상 v4.42.0이 2026년 9월 20일 릴리즈됐고, 열린 이슈는 0개입니다. 지도 줌과 상세 화면 전환 같은 변경 이력도 이어집니다. 다만 이 점수는 코드 품질 전체를 인증하는 뜻이 아니라, 공개 저장소의 관리 상태가 안정적으로 보인다는 의미입니다.
문서·커뮤니티: ★3. ReactorKit·Coordinator, 코드 기반 UI, Feature별 디렉터리 구조와 리소스 관리 방식을 README에서 설명합니다. 외부 인터뷰 링크도 6개 있어 프로젝트 배경을 파악하기 좋습니다. 반면 개발 설치 문서와 운영 세부 정보는 부족합니다.
총점은 2.8점, 등급은 “지켜보자”입니다. 앱의 완성도는 눈에 띄지만, 라이선스와 재현 가능한 개발 문서가 비어 있습니다. 회사 레포에 바로 넣기엔 아직 위험합니다.
⑤ 현업 도입 전 걸리는 3대 함정: 보안·토큰 비용·환경 충돌
첫 번째 함정은 코드와 위치 데이터의 외부 전송입니다. 이 앱은 붕어빵 매장 정보와 사용자 위치를 다루는 서비스로 설명되지만, 사내 소스나 운영 데이터를 외부 LLM·분석 서비스에 그대로 넣는 순간 보안 검토 대상이 됩니다. 도입 전에 데이터를 공개·내부·민감정보로 분류하고, 위치 좌표·사용자 식별자·매장 제보 원문을 전송 차단 목록에 올려야 합니다. 꼭 분석이 필요하다면 사내 프록시에서 감사 로그와 접근 권한을 관리하고, 식별자를 대체한 비식별화 데이터를 사용하세요. 정책상 외부 전송이 금지되면 온프레미스 모델이나 사내망 배포형 서비스를 검토해야 합니다.
두 번째 함정은 LLM API 토큰 비용입니다. 지도 데이터 전체와 긴 Swift 파일을 매번 통째로 보내면 비용은 빠르게 불어납니다. 파일·함수·diff 단위로 입력 범위를 제한하고, 모델별 일일 예산과 프로젝트별 호출 한도를 먼저 걸어두세요. 호출량 알림, 응답 캐시, 저비용 모델 우선 라우팅, 샘플링 검토를 함께 적용해야 합니다. 프롬프트를 보내기 전 토큰을 추정하는 게 기본입니다. 비용이 터진 뒤 사용량을 확인하는 방식은 통제가 아니라 사후 보고입니다.
세 번째는 환경 의존성 충돌입니다. README에는 ReactorKit, Coordinator, SnapKit, SwiftLint와 Swift 코드 기반 UI가 적혀 있고, 최근 릴리즈에는 Tuist Buildable Folders 전환이 명시돼 있습니다. 다만 이 저장소는 클론과 실행을 확인하지 못했으므로 특정 Swift·Xcode·패키지 조합의 호환성을 단정할 수 없습니다. 도입 체크리스트는 명확합니다. Swift/Xcode·Tuist·의존성 버전 매트릭스를 기록하고, lockfile과 프로젝트 생성 설정을 고정하세요. CI에서 캐시를 비운 클린 빌드를 검증하고, 신규 Xcode 업그레이드는 별도 브랜치에서 확인한 뒤 반영해야 합니다. “최신으로 맞추면 되겠지”가 가장 비싼 설정입니다.

⑥ 나라면 지도 기능보다 도입 경계부터 세웁니다
나라면 이 저장소를 지도 기능부터 가져오지 않습니다. 라이선스가 없고, 클론도 확인하지 못해 README 설명과 실제 코드의 일치 여부를 검증할 수 없기 때문입니다. 스타 222개나 릴리즈 이력만 보고 사내 레포에 넣었다간, 나중에 법무와 빌드 환경을 함께 디버깅하게 됩니다.
첫 번째 워크플로우는 기존 iOS 팀의 구조를 기준으로 좁게 참고하는 방식입니다. README가 설명하는 ReactorKit·Coordinator 흐름과 Feature별 디렉터리 구성을 참고해 `지도 홈`, `매장 상세`, `제보` 화면을 기능 단위로 분리합니다. 기존 내비게이션과 상태 관리 규칙은 유지하고, 지도 데이터와 화면 전환 경계만 이식 대상으로 잡습니다. README에 적힌 붕어빵 지도와 근거리 매장 탐색이 실제 코드에 있는지는 확인되지 않았으니, 기능을 그대로 제공한다고 약속하면 안 됩니다.
두 번째는 문자열 리소스입니다. README는 Google 스프레드시트에서 key와 value를 관리하고 Xcode 빌드 때 문자열을 자동 생성한다고 설명합니다. 문자열 변경이 잦은 서비스라면 매력적인 흐름이지만, 생성 스크립트와 빌드 실패 조건을 코드로 확인하기 전에는 채택하지 않습니다. 외부 시트 권한, 네트워크 장애, 잘못된 key가 릴리즈를 막는지부터 확인해야 합니다.
세 번째는 릴리즈 단위 기록입니다. v4.42.0의 가게 상세 v2 SDUI 전환과 Tuist Buildable Folders 전환 이력을 참고해 화면 구조를 바꿀 때마다 영향 범위, 의존 모듈, 롤백 지점을 릴리즈 문서에 남깁니다. 지도 홈의 줌과 범위 이동처럼 후속 변경이 이어질 수 있는 영역은 더 엄격하게 관리합니다.
라이선스 승인 없이는 외부 코드를 도입할 수 없는 기업, 특정 Xcode·Swift 버전을 장기 고정해야 하는 제품팀, 사내 소스나 위치 데이터를 외부 서비스로 보낼 수 없는 조직은 이 도구를 쓰면 안 됩니다. 대안은 기능을 직접 구현하는 사내 Swift 지도 앱 구조, 라이선스 검토가 끝난 ReactorKit·Coordinator 기반 템플릿, 기존 팀 표준인 MVVM·Composable Architecture 계열입니다. README와 코드 대조가 끝나기 전까지는 지도 샘플이 아니라 도입 후보로만 다루는 편이 안전합니다. 2026-09-23 기준
첨부 이미지
- 이미지 1: 01_repo.png (3dollar-in-my-pocket/3dollars-in-my-pocket-ios 저장소 첫 화면 (2026-09-23))
- 이미지 2: 03_tree.png (받아서 열어본 폴더 구조)
- 이미지 3: 04_score.png (별점 2.8 / 5 — 지켜보자)
❓ 자주 묻는 질문
Q. 3dollars-in-my-pocket-ios는 어떤 프로젝트인가요?
A. 전국 붕어빵 지도로 시작해 길거리 음식점 서비스로 확장하는 iOS 프로젝트입니다. README에는 가슴속 3천원이라는 서비스명과 AppStore·PlayStore 링크가 안내돼 있습니다.
Q. 3dollars-in-my-pocket-ios를 바로 빌드할 수 있나요?
A. README에는 AppStore와 PlayStore 다운로드 링크는 있지만 개발자용 설치·빌드 절차와 정확한 런타임 버전은 적혀 있지 않습니다. 저장소 클론도 확인하지 못했으므로 바로 빌드된다고 단정할 수 없습니다.
Q. 이 저장소는 어떤 iOS 아키텍처를 사용하나요?
A. README는 ReactorKit과 Coordinator를 사용하고, SnapKit 기반 코드 UI와 Feature별 디렉터리 구성을 설명합니다. 실제 디렉터리와 진입점은 클론 실패로 대조하지 못했습니다.
Q. 3dollars-in-my-pocket-ios를 회사 프로젝트에 사용해도 되나요?
A. 저장소에 라이선스가 없어 회사 도입을 바로 권하기 어렵습니다. 라이선스 검토와 함께 외부 데이터 전송 정책, Swift·Xcode·의존성 버전 조건을 먼저 확인해야 합니다.
이 글은 2026-09-23 기준으로 저장소를 내려받아 README와 코드를 대조한 결과이며, 프로그램을 직접 실행한 결과는 아닙니다. 오픈소스는 빠르게 바뀌므로 최신 상태는 저장소에서 확인해 주세요. 참고·인용 시 이 글의 URL을 출처로 남겨주시고, 써보신 경험은 댓글로 나눠주세요.
댓글 0개
- 첫 댓글을 남겨보세요.