본문 바로가기

단감의 개발일지

단펫 5월 둘째주 1인 개발일지 | Google 로그인 0% 버그 핫픽스부터 beta 검토 제출까지

지난주 하루는 단펫의 모바일 앱 로그인 문제 때문에 다른 일을 거의 못 했습니다. "단펫 앱에서 구글 로그인을 누르면 아무 반응이 없다"는 보고를 받은 게 화요일이었는데, 그날 안에 원인을 찾고 핫픽스 빌드를 만들어 Play Console에 beta 트랙으로 검토 제출까지 끝냈습니다. 1인 운영이라 모든 단계가 한 사람 손에서 일어나는데, 이번엔 다행히 흐름이 비교적 매끄럽게 풀렸습니다.

👋 오늘의 개발 근황

단펫은 반려동물과 산책할 만한 공원·동물병원·보호소 정보를 보여주는 웹·앱 서비스입니다. 웹은 안정 단계에 들어와 매일 사용자가 꾸준히 들어오고 있고, 앱은 4월 말부터 Play Console 베타 트랙으로 운영 중인데 이번 주에 가장 큰 사고이자 가장 큰 학습이 한 번 있었습니다.

🎯 이 프로젝트는 무엇인가

단펫은 "오늘 우리 강아지 산책 데려갈 만한 곳이 어디지?"라는 사용자의 질문에 답하는 서비스입니다. 전국 공원의 산책지수(날씨·미세먼지·혼잡도 등을 점수화)를 표시하고, 가까운 동물병원·보호소 위치를 함께 보여줍니다. 웹은 누구나 바로 쓸 수 있고, 앱은 위치 기반으로 더 편한 사용성을 제공합니다.

🛠️ 이번 주 뭐가 바뀌었나

핵심은 단 한 가지였습니다. 단펫 모바일 앱에서 Google 로그인 성공률이 0%였습니다. 원인은 앱 빌드 시 OAuth 클라이언트 ID가 환경변수로 주입되도록 설정해뒀는데, 정작 빌드 파이프라인에서는 그 값이 비어 있었다는 점이었습니다. 결과적으로 로그인 토큰이 생성되지 않아 백엔드 호출이 0건이었습니다.

  • OAuth 클라이언트 ID 하드코딩 패턴으로 통일 (자매 서비스 단낚시와 동일 방식)
  • 로그인 실패 시 사용자에게 보여주는 메시지를 친화적으로 정리 — 취소·네트워크·서버 오류 별 메시지 분기
  • "다시 시도" 버튼을 실패 화면에 추가해 사용자가 막힘 없이 재시도 가능
  • 새 빌드(v0.1.1+3)를 Play Console beta 트랙에 업로드하고 검토 제출까지 완료

📸 화면으로 보는 변화

 

💭 만들면서 느낀 점

이번 사건에서 가장 부끄러웠던 건 "환경변수로 주입하는 게 깔끔하다"는 막연한 믿음으로 분리해뒀던 설정이 결국 운영 사고로 이어졌다는 점이었습니다. 자매 프로젝트인 단낚시는 처음부터 하드코딩이었고, 그래서 같은 문제를 겪지 않았습니다. 1인 개발에서는 화려한 설계보다 "지난번에 잘 됐던 방식과 똑같이 한다"는 보수적인 일관성이 사고를 가장 많이 막아준다는 걸 다시 한번 배웠습니다.

또 한 가지는 사용자에게 노출되는 에러 메시지의 가공이 늦었다는 점입니다. 평소엔 거의 안 보이는 메시지지만, 사고가 나는 순간 가장 먼저 사용자가 보는 화면입니다. 모든 화면을 디자인할 때는 "이 화면이 가장 안 좋은 상황에서 어떻게 보일지"를 함께 생각해야 한다는 원칙을 다시 새겼습니다.

🔗 직접 써보기

단펫 웹 버전은 누구나 바로 들어가 산책 좋은 공원을 확인할 수 있고, 앱은 현재 Play Store 베타 트랙으로 운영 중입니다. 둘 다 무료이고, 사용해보고 불편한 점이 있으면 어디서든 알려주시면 1인 개발자가 직접 보고 다음 주에 반영합니다.

단펫 (DanPet) 바로가기

피드백은 단펫 화면 우상단의 문의하기, 또는 본 블로그 댓글로 받습니다. 가끔 짧게 한 줄짜리 후기만 남겨주셔도 다음 주 우선순위가 결정되는 일이 종종 있어서, 한마디 한마디가 정말 큰 도움이 됩니다. 다음 개발일지로 또 찾아오겠습니다.

반응형