(26.08.07) 부산 공모전 데모용 AWS(DynamoDB, lambda, API Gateway)는 Supabase로 이관 후 삭제
기간 : 26.05.11 ~ 26.12 (학과 산학협력 프로젝트 진행으로 일정이 밀림)
프로젝트 개요
해당 프로젝트는 개인적으로 AI를 활용해 반려동물이 동반 가능한 맵을 웹으로 배포하는 것을 목적으로 하고 있다.
전체적인 디자인이나 기능에 대한 부분은 최근 핫하게 뜨고 있는 "거지맵" 에서 영감을 받아 스스로 비슷한 결과물을 내는 것을 목표로 한다.
풀스택과 관련된 지식이나 역량이 없는 상태에서 내가 LLM 프롬프트를 작성하는 것만으로 결과물을 원하는 대로 얻을 수 있는지 확인해보고자 하는 생각에 하는 이유도 있다.
프로젝트 목적
반려동물과 함께 가족으로 지내는 사람으로써, 함께 외식을 할 수 있는 장소를 쉽게 알 수 있으면 하는 바람으로 해당 맵을 성공시켜 지역에 상관없이 모든 반려인들이 사용할 수 있으면 하고 만들고자 한다.
네이버 검색으로도 반려동물과 같이 갈 수 있는 식당이 뜨지만, 실질적으로 불가능 한 곳도 같이 뜨거나, 가능한 곳임에도 제대로 뜨지 않는 것을 보고 제대로 활용할 수 있는 무료 사이트를 만들고자 한다.
개발하고자하는 기능 설명
카카오맵을 기반으로 반려동물 동반 가능 식당 및 카페의 리스트와 지도상 위치를 제공하고자 함
각 장소마다 상세페이지가 존재하는데 상세페이지에는 가게명, 영업시간, 동반 허용되는 공간 범위, 동반 허용되는 반려동물의 종류, 대형견 가능 여부, 펫메뉴에 대한 정보를 제공하고, 정보의 아래에는 찜, 추천, 비추천, 네이버 지도로 연결하는 버튼을 통해 정보가 유용했는지 평가와 활용을 할 수 있게 한다.
추가적으로 댓글 창을 생성하고, 이는 거지맵의 기능을 모티브로 구조를 그대로 따오는 것을 목표로 하고있다.
새로운 장소에 대해 제보와 오기재되어 있는 장소에 대한 신고기능을 추가하고자 하며, 검색 기능, 내 위치를 읽고 활용할 수 있도록 위치 활용 기능, 내 위치 근방 랭킹 리스트까지 모두 구현하고자 한다.
금액적인 부분의 부담이 크지 않다면, 커뮤니티 기능을 추가해 시/도 별로 게시판을 추가로 생성해 지역에 대한 반려동물 동반 맛집이나 산책을 같이 하고자 하는 사람들을 위한 소통 창구를 생성하고자 한다.
추후 전체적인 부분이 정상적으로 가동되고, 확장을 고려하게 된다면 아래의 사항들을 추가해보고자 하는 생각들이 있다.
현재는 식당과 카페의 위치만을 정보로 제공하고자 하지만, 추후 동반 가능한 숙소까지 제공하면 편리하지 않을까 하는 생각이 든다.
사이트를 들어갔을 때, 맨 왼쪽 위에 확정된 이름과 로고를 추가해 웹의 디자인을 좀 더 구체화 하고싶다.
추후 정말 이 사이트가 활성화가 된다면, 반려동물 간식 등의 광고나 협업 기능을 통해 판매할 수 있는 탭을 추가하고자 한다.
모두의 창업 선정
모두의 창업 2기 재도전 1라운드 진출작
상표 출원, 서버 확정, 기타 법적 사항 확정 시 정식 출시 예정!
2026 부산광역시 공공데이터 경진대회 출품작
아이디어 기획 부문 부산 공모전 서류평가 합격
공모전 발표평가 당시 확인할 수 있도록 AWS 개발환경에서 확인할 수 있는 데모버전 구축 완료
(26.08.08) 클라우드 변경을 위해 전체 데이터 이관 진행 및 aws 버전 삭제 진행
컴퓨터공학쪽으로 새로 진학했으나, 개발자를 염두에 둔 것이 아니라 인공지능 및 데이터를 다루는 부분에 대한 관심과 취업을 위한 열망으로 진학한 것이라 중점으로 보고 있는 공부 내용이 다르다. 그래서 현재를 기준으로 풀스택과 관련된 실습을 개인적으로 해보기도 하고, 관련 CS 지식들을 같이 겸비하고자 하는 바람이라 프로젝트 기간을 8월 내로 배포가 가능한 맵을 만드는 것이 목표이다.
기본적인 구조는 AI의 도움을 받아 워크플로우를 짜놓은 상태이고, 해당 프로젝트에서 실질적으로 내 미래에 관련된 역량을 함께 쌓기 위해 크롤링을 통해 방문한 사람들의 후기를 수집해 등록하고, 데이터를 관리하는 부분까지 하는 프로젝트로 기획중이다.
6월말까지는 데이터베이스를 구축하고 관리하는 방법에 대해서 공부를 하며 동시에 바이브 코딩을 통해 맵을 만들어가는 과정을 갖는 것이 1차 목표이다.
1차 목표가 달성했다는 과정 하에, 전국의 데이터를 어떤 폭으로 수집해야할지에 대한 방향성을 고려하고, UI/UX에 대한 부분을 건드려보는 시간을 8월초까지 가져보고자 한다.
최종적으로는 8월 말 안으로 해당 서비스가 배포될 수 있게 디자인에 대한 A/B 테스트를 지인들에게 진행하고, 반려인들이 무료로 활용할 수 있게끔 배포를 하고자 한다.
(추가 26.05.23) 공공데이터 API를 활용해서 반려동물 약품을 판매하는 곳에 대한 정보를 출력할 수 있게 추가적으로 구성해보는 것에 대해 고민중
(추가 26.05.23) 공공데이터 API를 활용해서 나오는 데이터를 먼저 활용하고 그 이후의 내용을 추가로 크롤링 해보는 것으로 구상중
(추가 26.07.17) 공공데이터는 부산 공모전을 준비하면서 정리한 데이터들을 기반으로 교차검증을 진행하며, AI 기능을 추가해 자동화 및 사용자가 이용할 수 있는 기능을 추가함
(추가 26.08.08) 공공데이터 중 교차검증을 거친 데이터만 등록할 경우 매우 적은 장소들이 등록되는 것으로 인해 모든 공공데이터를 추가하되, 중복은 걸러서 1번만 등록하도록 구현함
(추가 26.09.16) 약 한 달간의 개발 공백 후, 부산 공모전에 이어 정부 "모두의 창업 지원사업" 신청을 준비하며 개발을 재개함
상세페이지 생성 : 마커 및 장소 리스트 클릭 이벤트를 통해 상세페이지 별도로 생성, 리뷰 관련 1차 UI 구현
Supabase : 가상 데이터 삽입 및 연동, 각 데이터를 담을 테이블 생성 (장소 데이터, 리뷰 등)
오늘 못한 일
PWA 설정 : 아직은 설정할 때가 아니라 추후 진행 예정
상세페이지 추가 설정 : 별도로 분리되어 있는 창을 다시 팝업으로 변경 및 창닫기, 공유기능 등 활성화하기
내일 할 일
상세페이지 추가 설정 : 별도로 분리되어 있는 창을 다시 팝업으로 변경 및 창닫기, 공유기능 등 활성화하기
전체적인 UI 다듬어가기
[2026.05.13]
오늘 한 일
상세페이지 UI 변경 : 기존 기본 이모지에서 Lucide 이모지로 변경
상세페이지 추가 설정 : 팝업창 나가기 버튼 생성 및 활성화
기본페이지 UI 변경 : 장소 리스트 UI 변경
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
상세페이지 추가 설정 : 팝업창의 전반적인 디자인 변경, 공유기능 활성화하기
내일 할 일
상세페이지 추가 설정 : 팝업창의 전반적인 디자인 변경, 공유기능 활성화하기
전체적인 UI 다듬어가기
[2026.05.14]
오늘 한 일
상세페이지 기능 수정 : 상세페이지의 추천, 비추천 기능을 카운트 및 중복 방지 적용, 리뷰 리뉴얼(랜덤 닉네임 부여, 댓글 작성 가능, 정렬 및 좋아요 기능 활성화)
상세페이지 추가 설정 : 별도로 분리되어 있는 창을 다시 팝업으로 변경 및 창닫기 구현 트러블슈팅 보러가기
창닫기로 몇시간 가량 골머리를 겪었는데 이건 추후 트러블슈팅으로 생성할 예정 추가시 해당 라인 취소선 넣을 예정임
메인 페이지 UI : 메인 페이지에서 보이는 리스트 패널의 디자인 수정
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
트러블 슈팅 작성 : 상세페이지 팝업 창닫기 이슈 기록하기
내일 할 일
상세페이지 UI : 전체적으로 디자인 변경 및 다듬기
상세페이지 기능 수정 : 찜 기능도 카운트 다시 추가하기
전체적인 UI 다듬어가기
[2026.05.15]
오늘 한 일
상세페이지 기능 수정 : 상세페이지의 찜 카운트 추가, 댓글의 답글 기능 추가, 댓글 및 답글의 신고, 수정, 삭제 기능 활성화
상세페이지 UI : 이미지, 정보 등의 레이아웃 전체 개편, 댓글 및 답글 작성 창 개편
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
상세페이지 기능 수정 : 삭제된 댓글의 추가 기능 막기, 신고받은 내용 DB로 넘기기
메인 페이지 추가 설정 : 공유기능 활성화
내일 할 일
상세페이지 기능 수정 : 삭제된 댓글의 추가 기능 막기, 신고받은 내용 DB로 넘기기, 메뉴 버튼을 누른 상태로 다른 기능을 이용하거나 스크롤을 움직이면 메뉴 버튼 누르기 취소 추가, 답글이 없을 경우, 삭제된 메세지라는 문구 안뜨게 수정
상세페이지 UI : 네이버 지도로 보기에 넣을 이미지 다시 고민하기
메인페이지 UI : 페이지의 제목바 생성 후, 리스트의 제목 옮겨가기
전체적인 UI 다듬어가기
[2026.05.16]
오늘 한 일
댓글 관련 수정 : 카카오 로그인 연동 및 닉네임 처리 트러블슈팅 보러가기, 로그인 및 회원가입 창 생성, 로그인 시 댓글 작성창 수정, 답글 없는 삭제 댓글 처리, 삭제된 댓글 개수 반영 처리, 수정/삭제 시 비밀번호 검증, 회원/비회원일 때 신고, 수정, 삭제 기능에 대한 기능 구체화
로그인/회원가입 페이지 : 페이지 구성 및 댓글창에서 연결함, 로그아웃 기능 추가(현재는 리스트 위에 뜨지만 탭 생성시 이동예정)
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
상세페이지 기능 수정 : 삭제된 댓글의 추가 기능 막기, 신고받은 내용 DB로 넘기기, 메뉴 버튼을 누른 상태로 다른 기능을 이용하거나 스크롤을 움직이면 메뉴 버튼 누르기 취소 추가, 이미지 등록 활성화 시키기, 공유하기 기능 추가
메인 페이지 추가 설정 : 공유기능 활성화 (위치 버튼 위에 공유하기 버튼 추가)
상세페이지 UI : 네이버 지도로 보기에 넣을 이미지 다시 고민하기
메인페이지 UI : 페이지의 제목바 생성 후, 리스트의 제목 옮겨가기
내일 할 일
상세페이지 기능 수정 : 삭제된 댓글의 추가 기능 막기, 신고받은 내용 DB로 넘기기, 메뉴 버튼을 누른 상태로 다른 기능을 이용하거나 스크롤을 움직이면 메뉴 버튼 누르기 취소 추가, 이미지 등록 활성화 시키기, 공유하기 기능 추가, 비회원일 때 댓글과 답글에 작성하는 닉네임 동일하게 고정
로그인/회원가입 페이지 : 탭을 생성해서 지도탭, 로그인탭으로 바로 갈 수 있도록 기능 정비, 로그아웃 위치 옮기기
메인 페이지 추가 설정 : 공유기능 활성화 (위치 버튼 위에 공유하기 버튼 추가)
상세페이지 UI : 네이버 지도로 보기에 넣을 이미지 다시 고민하기
메인페이지 UI : 페이지의 제목바 생성 후, 리스트의 제목 옮겨가기
전체적인 UI 다듬어가기
[2026.05.17]
오늘 한 일
메인 페이지 추가 설정 : 공유기능 활성화 및 UI 추가
메인페이지 UI : 페이지의 제목바 생성 후, 리스트의 제목 옮겨가기, 로그인 상태(로그인, 로그아웃) UI 추가, 제목바에 신규장소 리스트 UI 추가
로그인/회원가입 페이지 : 이메일 회원가입 및 로그인 기능 정상화, 이메일, 닉네임, 비밀번호 안내문구 추가, 비밀번호 보기/숨기기 등 UX 개선, 카카오 로그인 기능 안정화
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
상세페이지 기능 수정 : 삭제된 댓글의 추가 기능 막기, 신고받은 내용 DB로 넘기기, 메뉴 버튼을 누른 상태로 다른 기능을 이용하거나 스크롤을 움직이면 메뉴 버튼 누르기 취소 추가, 이미지 등록 활성화 시키기, 공유하기 기능 추가
상세페이지 UI : 네이버 지도로 보기에 넣을 이미지 다시 고민하기
내일 할 일
상세페이지 기능 수정 : 삭제된 댓글의 추가 기능 막기, 신고받은 내용 DB로 넘기기, 메뉴 버튼을 누른 상태로 다른 기능을 이용하거나 스크롤을 움직이면 메뉴 버튼 누르기 취소 추가, 이미지 등록 활성화 시키기, 비회원일 때 댓글과 답글에 작성하는 닉네임 동일하게 고정
로그인/회원가입 페이지 : 탭을 생성해서 지도탭, 로그인탭으로 바로 갈 수 있도록 기능 정비
상세페이지 UI : 네이버 지도로 보기에 넣을 이미지 다시 고민하기
메인페이지 UI : 제목바에 신규장소 리스트 디자인 수정 필요
전체적인 UI 다듬어가기
[2026.05.18]
오늘 한 일
상세페이지 기능 수정 : 삭제된 댓글의 추가 기능 막기, 메뉴 버튼을 누른 상태로 다른 기능을 이용시 기능 초기화 구현, 신고받은 내용 DB로 넘기기
상세페이지 UI : 네이버 지도 연결을 앱사진에서 이모지로 변경, 전체적인 크기, 폰트 등의 디자인 변경
메인페이지 UI : 페이지의 제목바 생성 후, 리스트의 제목 옮겨가기, 로그인 상태(로그인, 로그아웃) UI 추가, 제목바에 신규장소 리스트 UI 추가, 전체적인 크기, 폰트 등의 디자인 변경
로그인/회원가입 페이지 : 이메일 회원가입 및 로그인 기능 정상화, 이메일, 닉네임, 비밀번호 안내문구 추가, 비밀번호 보기/숨기기 등 UX 개선, 카카오 로그인 기능 안정화
관리자 페이지 : 관리자 페이지 생성, 신고받은 내용 검토 후 삭제 조치 추가
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
상세페이지 기능 수정 : 이미지 등록 활성화 시키기, 상세페이지로 장소 공유하기 기능 추가
내일 할 일 (하루 쉬고 수요일에 추가로 할 예정)
상세페이지 기능 수정 : 이미지 등록 활성화 시키기
로그인/회원가입 페이지 : 탭을 생성해서 지도탭, 로그인탭(로그인시 마이페이지)으로 바로 갈 수 있도록 기능 정비
메인페이지 UI : 제목바에 신규장소 리스트 패널 개편 필요
전체적인 UI 다듬어가기
[2026.05.20]
오늘 한 일
관리자 페이지 : 신고 처리 오류 확인 및 관리자 페이지 디자인 리뉴얼
메인페이지 UI : 제목바에 신규장소 리스트 패널 디자인 및 출력 리뉴얼, 페이지 이동용 탭바 생성, 헤더 로그인 버튼 삭제, 동반 가능 범위에 이모지 동시 출력
마이페이지 생성 및 UI : 마이페이지 생성 후 디자인 변경 및 사이드 광고 게재 영역 생성
개인정보 처리방침 및 이메일 문의 보내기 기능 추가
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
상세페이지 기능 수정 : 이미지 등록 활성화 시키기, 상세페이지로 장소 공유하기 기능 추가
내일 할 일
상세페이지 기능 수정 : 이미지 등록 활성화 시키기, 상세페이지로 장소 공유하기 기능 추가
전체적인 UI 다듬어가기
[2026.05.21]
오늘 한 일
로드 오류 해결 : 전체적으로 렌더가 오래걸리는 이슈 해결(중복 삭제 및 쿼리문 조정)
관리자 페이지 : 신고 처리 오류 수정중, 관리자 메뉴얼 탭바에 추가 및 고정(관리자 계정만 확인 가능), 관리자 페이지 구성 일부 리뉴얼(스크롤 바 생성 및 출력 디자인 수정)
아이콘 변경 : 전체적으로 기본 이모티콘을 lucide 기반으로 변경(반려동물 동반 범위 및 마커 앞에 출력하는 부분만 기본 이모티콘 그대로 사용)
상세페이지 기능 수정 : 이미지 등록 활성화 시키기
메인페이지 수정 : 헤더에 제목을 로고 이미지로 대체
Supabase : 관리자 계정 추가, 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
상세페이지 기능 수정 : 상세페이지로 장소 공유하기 기능 추가
메인페이지 디자인 : 헤더의 높이가 높아지면서 기존에 버튼 위치가 애매해져서 해당 부분 리뉴얼 필요
관리자 기능 : 댓글/답글의 신고하기 버튼 삭제, 관리 페이지에서 새로고침으로 처리 리셋되는 이슈 해결 필요
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 제보 관리 페이지는 특히나 디자인 다시 변경 필요
메인페이지 수정 : 버튼만 있는 장소 제보기능 활성화(팝업으로), 마커를 누르면 나오는 작은 정보 팝업의 출력 높이 변경
내일 할 일
상세페이지 기능 수정 : 상세페이지로 장소 공유하기 기능 추가
메인페이지 디자인 : 헤더의 높이가 높아지면서 기존에 버튼 위치가 애매해져서 해당 부분 리뉴얼 필요
관리자 기능 : 댓글/답글의 신고하기 버튼 삭제, 관리 페이지에서 새로고침으로 처리 리셋되는 이슈 해결 필요
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 제보 관리 페이지는 특히나 디자인 다시 변경 필요
메인페이지 수정 : 버튼만 있는 장소 제보기능 활성화(팝업으로), 마커를 누르면 나오는 작은 정보 팝업의 출력 높이 변경
전체적인 UI 다듬어가기
[2026.05.22]
오늘 한 일
상세페이지 기능 수정 : 찜 기능 활성화 및 페이지 종료시 리셋되는 오류 보정, 장소 공유/신고 기능 생성
마이페이지 기능 수정 : 찜 통계 부분 및 확인 저장된 리스트 출력 오류 보정
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
상세페이지 기능 수정 : 상세페이지로 장소 공유하기 기능 오류 보정
메인페이지 디자인 : 헤더의 높이가 높아지면서 기존에 버튼 위치가 애매해져서 해당 부분 리뉴얼 필요
관리자 기능 : 댓글/답글의 신고하기 버튼 삭제, 관리 페이지에서 새로고침으로 처리 리셋되는 이슈 해결 필요
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 제보 관리 페이지는 특히나 디자인 다시 변경 필요
메인페이지 수정 : 버튼만 있는 장소 제보기능 활성화(팝업으로), 마커를 누르면 나오는 작은 정보 팝업의 출력 높이 변경
내일 할 일
상세페이지 기능 수정 : 상세페이지로 장소 공유하기 기능 오류 보정
메인페이지 디자인 : 헤더의 높이가 높아지면서 기존에 버튼 위치가 애매해져서 해당 부분 리뉴얼 필요
관리자 기능 : 댓글/답글의 신고하기 버튼 삭제, 관리 페이지에서 새로고침으로 처리 리셋되는 이슈 해결 필요
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 제보 관리 페이지는 특히나 디자인 다시 변경 필요
메인페이지 수정 : 버튼만 있는 장소 제보기능 활성화(팝업으로), 마커를 누르면 나오는 작은 정보 팝업의 출력 높이 변경
전체적인 UI 다듬어가기
[2026.05.23]
오늘 한 일
상세페이지 기능 수정 : 상세페이지로 장소 공유하기 기능 오류 보정 및 공유 시 출력 문구 수정, 이미지 확대 모달 기능 추가
상세페이지 출력 추가 : 전화번호, 메모 추가
메인페이지 수정 : 마커 클릭 팝업 출력 위치 조정, 장소 제보기능 구현
관리자 기능 : 댓글/답글의 신고하기 버튼 삭제, 신고사항 새로고침으로 처리 리셋되는 이슈 해결
관리자 페이지 : 신고 관리 페이지와 제보 관리 페이지의 레이아웃 통일, 장소 신고받은 데이터도 신고 관리 페이지로 통합 진행
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 렌더링 없애는 방안 찾기
메인페이지 수정 : 장소 제보기능 활성화 오류 수정
내일 할 일
관리자 기능 : 장소 신고, 제보받은 데이터 처리 구현
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 렌더링 없애는 방안 찾기
메인페이지 수정 : 장소 제보기능 활성화 오류 수정
전체적인 UI 다듬어가기
[2026.05.25]
오늘 한 일
관리자 페이지 : 장소 신고 내역의 닉네임 출력 오류 해결
마커 렌더 이슈 해결
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민
커뮤니티 페이지 : 구성하기
전체적인 UI 다듬어가기
[2026.05.26]
오늘 한 일
관리자 페이지 : 장소 신고 내역 처리완료 탭의 삭제된 내역 다시 리셋 이슈 해결(RLS 정책 문제)
커뮤니티 페이지 : 해당 페이지 구성도 생성 및 일부 구현(페이지 구성 및 댓글 구현, 작성된 게시물 가로 출력너비 조정 필요, 게시글 작성자 닉네임 안보임)
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민
커뮤니티 페이지 : 게시물 내용 확인시 가로 출력 너비 조정 필요, 게시글 수정/삭제/신고 기능 추가, 게시글 스크롤바 필요, 댓글 및 답글 수정/삭제/신고 기능 구현, 이미지 출력 위치 조정 필요, 닉네임 출력 부분 구현(DB에서 끌어와야함)
전체적인 UI 다듬어가기
[2026.05.27]
오늘 한 일
커뮤니티 페이지 : 게시물 내용 확인시 가로 출력 너비 조정, 닉네임 출력 부분 구현, 게시글 확인 페이지 스크롤바 생성, 이미지 출력 위치 조정, 게시글 수정/삭제/신고 기능 추가, 댓글 및 답글 갯수 출력 및 수정/삭제/신고 기능 구현, 이미지 업로드 갯수 조정
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민
커뮤니티 페이지 : 게시글 내용 및 댓글 신고 DB 연동, 좋아요 수 표출되게 해두기, 이미지 확대 모달 기능 수정 (이전/다음 이미지 이동 안되는 오류)
마이페이지 : 페이지 디자인 고민
전체적인 UI 다듬어가기
[2026.05.28]
오늘 한 일
커뮤니티 페이지 : 이미지 확대 모달 기능 수정 (이전/다음 이미지 이동 안되는 오류 해결), 게시글 댓글 및 답글 기능 추가 및 수정/삭제/신고 기능 구현(게시글 삭제버튼만 팝업형식), footer 추가
마이페이지 : 페이지 가로 출력범위 조정(footer, scroll 등의 일부 문제 해결 필요)
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민
마이페이지 : footer, scroll 등의 일부 문제 해결
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동, 게시글 리스트 일정 갯수 이상 출력 시 페이지가 넘어가도록 구현, 신고 기능 활성화
마이페이지 : footer, scroll 등의 일부 문제 해결
전체적인 UI 다듬어가기
[2026.05.29]
오늘 한 일
마이페이지 : 페이지 가로 출력범위 조정(footer, scroll 등의 일부 문제 해결), 전체적인 레이아웃 변경 및 페이지 기능 활용
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동, 게시글 리스트 일정 갯수 이상 출력 시 페이지가 넘어가도록 구현, 신고 기능 활성화
마이페이지 : 댓글 카운트 연동
장소 상세페이지 : 답글 및 댓글이 하나일때 흔적없이 삭제하기
전체적인 UI 다듬어가기
[2026.06.01]
오늘 한 일
장소 상세페이지 : 댓글 및 답글 삭제 구조 변경
커뮤니티 페이지 : 댓글 및 답글 삭제 구조 변경 및 구현, 삭제된 댓글 처리 변경, 게시글 리스트 일정 갯수 이상 출력 시 페이지가 넘어가도록 구현
마이페이지 : 댓글 카운트 연동
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동, 신고 기능 활성화
검색 기능 : 메인페이지의 주소(@@시 @@구/@@시 @@동 등) 검색시 해당 구역으로 지도 위치 연동, 커뮤니티 페이지 게시글 검색 기능 추가
전체적인 UI 다듬어가기
[2026.06.02]
오늘 한 일
검색 기능 : 메인페이지의 주소(@@시 @@구/@@시 @@동 등) 검색시 해당 구역으로 지도 위치 연동, 커뮤니티 페이지 게시글 검색 기능 추가
커뮤니티 페이지 : 신고 기능 활성화
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
전체적인 UI 다듬어가기
[2026.06.24]
오늘 한 일
검색 기능 : 메인페이지 검색어 기준 필터링에서 줌 기능 필터링으로 적용 변경
공공데이터 : 중심 데이터 셋 전처리 진행중(정제, 파생변수 생성 등)
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
전체적인 UI 다듬어가기
[2026.07.02]
오늘 한 일
공공데이터 : 중심 데이터 셋 전처리 진행중(정제, 파생변수 생성 등)
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
전체적인 UI 다듬어가기
[2026.07.12]
오늘 한 일
공공데이터 : 가공 데이터 접목 및 부산 데이터 셋 적용 완료
AWS : 부산 공모전 출품을 위한 전체 데이터 이관 및 임시 클라우드 적재 완료(DynamoDB, lambda, API Gate 등)
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
전체적인 UI 다듬어가기
[2026.07.15]
오늘 한 일
AWS : 전체 데이터 이관으로 발생한 오류 수정 작업(DynamoDB, lambda, API Gate 등)
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
전체적인 UI 다듬어가기
[2026.07.17]
오늘 한 일
AWS : 전체 데이터 이관으로 발생한 오류 수정 작업(DynamoDB, lambda, API Gate 등)
Supabase : 카카오 로그인 AWS와 호환 연동
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
전체적인 UI 다듬어가기
[2026.08.04]
오늘 한 일
공공데이터 : 중심 데이터 셋 전처리 진행중(정제, 파생변수 생성 등)
Supabase : 데이터 테이블에 대한 내용 수정 진행 (추가해야할 부분 추가 및 재생성)
오늘 못한 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
내일 할 일
관리자 페이지 : 더 나은 관리자 페이지 디자인 고민, 신고 기능 고도화(디자인 등)
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동
전체적인 UI 다듬어가기
[2026.08.07]
오늘 한 일
AWS : AWS 전체 삭제 처리(공공데이터의 보안성을 위해 클라우드 변경을 위함)
공공데이터 : 공공데이터 api 적용 및 csv 파일 지오코딩 후 장소 적용
관리자 페이지 : 디자인 변경, 통계분석 추이 수치 현황 추가, 신고관리 오류 수정
커뮤니티 페이지 : 좋아요 수, 조회수, 댓글수 연동, 디자인 변경, footer 고정 영역 설정
AI : 추천 시스템, 친화도 점수 구조 추가
전체 페이지 : 반응형 레이아웃으로 변경, 최적화 진행
Supabase : 이전 데이터 삭제 후 공공데이터 기반으로 최종 설정 테스트
오늘 못한 일
전체 페이지 : 리뉴얼 및 추가 기능에 대한 최적화, 오류 확인
내일 할 일
전체 페이지 : 리뉴얼 및 추가 기능에 대한 최적화, 오류 확인
[2026.08.10]
오늘 한 일
사장님 등록 기능 : 메인 화면에 '사장님 등록' 버튼 추가, 로그인 상태면 사업자 정보만 입력받는 전환 폼(OwnerUpgradeForm) 신규 구현, 비로그인은 이메일 중복확인 포함 회원가입 폼으로 분기, 닉네임 형식을 [지역명]가게명_사장님으로 통일, 입력 오류문구 여백 등 UI 보정
프리미엄 등록 모델 : 신청·승인·거절 API 구현, 마이페이지 신청 UI 및 관리자 프리미엄 페이지 구성, 추천 점수에 프리미엄 가점 반영
AI 추천 경로 : 테마별(산책/카페/관광/실내/비 오는 날) 정거장 추천 패널 및 지도 폴리라인·번호 마커 신규 구현
추천 로직 고도화 : 찜·좋아요 인기도를 추천 랭킹 및 코스 정거장 선정에 반영, 병원·약국은 코스당 1곳만 추천되도록 로직 보정, 산책/비 오는 날/실내 테마는 같은 읍면동 내에서만 추천되도록 제한, 정거장 간 거리를 직선거리 대신 추정 도보거리로 보정
길찾기 연동 : 카카오맵·네이버지도 길찾기 딥링크 연동(기존 오류 URL 수정), 코스 출발지를 현재 위치 기준으로 고정
감성분석 스캐폴드 : KoBERT 연동 대비 폴백 구조 마련(모델 서빙은 보류)
오늘 못한 일
AI 추천 경로 : 추천 경로 길찾기 및 시스템 고도화, 테마 축소
수익화 : 광고 시스템 연동
내일 할 일
AI 추천 경로 : 추천 경로 길찾기 및 시스템 고도화, 테마 축소
수익화 : 광고 시스템 연동
[2026.08.11]
오늘 한 일
AI 추천 경로 : 추천 경로 길찾기 및 시스템 고도화 진행중, 테마 축소
공공데이터 : 전국도시공원 데이터 API 문제 해결 후 활용 및 추천 경로 추가
메인페이지 : 리스트 패널 개편 및 프리미엄 개제 공간 생성, 위치기반 및 공유 아이콘 위치 조정
제보페이지 : 사용하지 않는 컬럼 삭제 및 안내 문구의 가독성을 위한 수정
오늘 못한 일
수익화 : 광고 시스템 연동
내일 할 일
수익화 : 광고 시스템 연동
[2026.09.16]
약 한 달간의 개발 공백기를 거친 후 다시 결제하여 재개함.
오늘 한 일
사업화 지원사업 신청 준비 : 부산 공공데이터 경진대회에 이어 정부 "모두의 창업 지원사업" 신청을 위해 현재 개발 현황, 시장/수요 타당성(반려동반 가구 규모, 동반출입 음식점 공급 공백, 제도 시행 이후 현장 혼란 타임라인), 경쟁 서비스 비교를 통한 지원서 작성
오늘 못한 일
신청서 항목별 캡쳐 자료 및 별첨 수요 근거 대시보드 정리
내일 할 일
신청서 제출 자료 마무리
한동안 멈췄던 코드베이스 재점검
[2026.09.17]
오늘 한 일
위치 기반 지역 필터 버그 조사 : 카카오 좌표→행정구역 API가 "부산광역시"처럼 정식 전체 명칭을 내려주는데 반해, 유기동물 공고 지역 필터(SIDO_CODE_MAP)는 "부산" 같은 짧은 이름 기준이라 항상 매칭에 실패해 위치 기반 필터가 조용히 무시되고 전국 공고가 뒤섞여 나오던 문제 확인, useUserRegion 훅에 정규화 처리 적용 착수
오늘 못한 일
정규화 함수(normalizeSidoName) 구현 및 지역 코드 조회부 반영
내일 할 일
normalizeSidoName 구현 및 적용 마무리
[2026.09.21]
오늘 한 일
지역 필터 버그 수정 : 카카오가 내려주는 시/도 전체 명칭(부산광역시 등, 신구 명칭 모두 포함)을 SIDO_CODE_MAP이 쓰는 짧은 이름으로 정규화하는 normalizeSidoName 추가, 유기동물 공고 지역 필터와 로컬스토리지 캐시된 위치값 모두에 적용
유기동물 공고 조회 캐싱 : 사이드 광고 레일이 페이지마다 반복 호출하던 공고 목록 조회에 5분(빈 결과는 30초) TTL 캐시 추가로 외부 API 호출량 및 응답 지연 감소
사이드 광고 레일 레이아웃 수정 : 본문 칼럼을 flex:1(최대 1200px)에서 min(1000px,100%) 고정폭으로 변경, 레일 최소폭을 72px→190px로 올리되 노출 기준 화면폭을 600px→1460px로 상향해 좁은 화면에서 레일이 화면 밖으로 잘려 보이던 문제와 보호소 공고 문구 줄바꿈 문제 해결, 인라인 display 스타일이 미디어쿼리의 display:none을 덮어써 레일이 얇게 계속 남아있던 버그 수정
커뮤니티/마이페이지/게시글 상세 레이아웃 통일 : 게시글 상세 페이지에도 목록·마이페이지와 동일한 3단 grid 레이아웃과 좌우 광고 레일(AdRailLeft/AdRailRight)을 적용
AuthContext 리팩터 : loadProfile을 useCallback으로 분리해 불필요한 재구독 방지
지도 리스트 패널 개선 : 장소별 "최근 30일 조회수" 배지 추가(신규 /api/analytics/place-view-counts 라우트에서 집계), 액션 버튼(신규 장소/추천/AI 코스/사장님 등록/제보) 아이콘 전용으로 축소 후 첫 방문자 전용 안내 투어 추가, 리스트 조회 반경을 5km→10km로 확대, 거리순 정렬을 비교 함수마다 재계산하던 방식에서 사전 계산 방식(Schwartzian transform)으로 최적화, 공원 토글이 켜져 있을 때 리스트에 공원도 함께 섞어 거리순으로 보여주도록 개선(공원 전용 카드 UI 및 클릭 동작 분기), 캐시된 위치가 있는데 이번 GPS 조회 정확도가 3km 넘게 나쁘면 그 값으로 덮어쓰지 않도록 보정, "내 위치" 버튼도 자동 감지와 동일하게 enableHighAccuracy:true로 통일
장소·공원 팝업 중복 표시 수정 : 마커/리스트 클릭 시 장소 팝업과 공원 팝업이 동시에 뜨던 문제 해결(하나만 열리도록 통일)
리스트 카드 배지 개편 : 조회수 눈 아이콘 제거, 이미지 우측 상단에 TOP1~10(찜+좋아요 지역 랭킹)·NEW(신규 등록)·HOT(최근 조회 급상승) 배지로 교체
사이드 광고 레일 여백 축소 : 상하 여백 100px/2vh → 16px/1vh로 줄여 세로 공간을 거의 꽉 채우도록 수정
마이페이지 하얀 화면 버그 수정 : 데이터 로딩 중 오류 시 로딩 상태가 끝나지 않던 문제(try/catch/finally 누락) 해결
관리자 페이지 "권한 확인 중" 무한 로딩 수정 : 인증 체크 중 오류 시 로딩이 끝나지 않던 문제 해결
유기동물 공고 위치 필터 재정비 : 지역 캐시에 1시간 TTL 추가(오래된 캐시가 계속 고정되던 문제 해결), 고정밀 위치 조회로 전환, 실패 원인을 콘솔에서 확인할 수 있도록 로그 추가
유기동물 공고 "지역 부족 시 전국으로 채우기" 로직 제거 : 감지된 지역과 무관한 다른 지역 공고가 섞여 나오던 문제 해결
유기동물 공고 요청 경쟁 상태 수정 : 늦게 도착한 오래된 응답이 최신 응답을 덮어쓰던 버그 해결(새로고침 없이도 위치 감지 즉시 반영)
커뮤니티 조회수 하루 1회 제한 추가 : 새로고침 연타로 조회수가 무한 증가하던 문제 방지
커뮤니티 좋아요·댓글수 실시간 보정 : 저장된 카운터 컬럼 대신 실제 테이블 기준으로 다시 세어 항상 정확한 값 표시(목록+상세)
마이페이지 찜/댓글 연동 점검 : 작성 시 쓰는 키와 마이페이지 조회 키가 모두 일치하는지 확인 — 이상 없음 확인
내일 할 일
전체적인 UI 다듬어가기
[2026.09.23]
오늘 한 일
추천 시스템 구조 분석 : 추천 장소(거리·필터·편의시설 규칙 가중합)와 AI 코스(역할 분류 + 그리디 선택) 구조 정리
추천 시스템 시장조사 : Google 추천 시스템 가이드·YouTube·Airbnb·오늘의집·당근 사례와 Rules of ML 기반으로 "측정 인프라 → 규칙 개선 → ML" 단계별 로드맵 수립
추천 노출·클릭 로깅 : rec_impression/rec_click/course_impression/course_regenerate/course_stop_click/course_start 이벤트 추가
A/B 테스트 구조 : user_key 해시 기반 v1(기존)/v2(신규) 그룹 배정, NEXT_PUBLIC_REC_V2_ROLLOUT로 롤아웃 비율·롤백 조절
DB 점검 : SQL 반영 여부 점검 스크립트(scripts/check-db.cjs) 추가, 누락돼 있던 제보 AI 검토 컬럼 적용으로 제보하기 복구
오늘 못한 일
로그인 상태 실제 흐름 확인 : 제보하기·글 자동 검토 알림·코스 저장·사장님 답글 배지(직접 확인 필요)
프리미엄 요금 확정 : 화면의 금액은 제안가(월 19,800원, 첫 달 무료·2~3개월째 50%)
쇼핑·적립·포인트 상점 : 구상만 정리(제휴 링크 → 쇼핑 적립 → 포인트 상점 3단계)
결제 연동 : 사업자등록·통신판매업 신고·결제대행 계약 후 진행(현재는 신청 → 계좌 입금 → 관리자 승인)
관광공사 상세 : 남은 7,691곳은 매일 약 1,000곳씩 자동 수집(운영계정 승인 대기)
내일 할 일
새벽 작업 결과 확인 : 5분 안에 끝났는지, 관광공사 상세가 약 1,000곳 늘었는지
실사용 확인 : 폰에서 새 게시판·사장님 탭·저장한 코스·글 검토 흐름 점검 후 수정
댓글·장소 후기에도 자동 검토 적용 여부 결정
출시 전 : 카카오 어드민 키 재발급, Vercel·GitHub 2단계 인증, 법률 검토(약관·위치기반서비스 신고)
[2026.10.06]
오늘 한 일
제보하기 상세 주소 : 주소 검색 아래에 상세 주소(층·호수·건물명) 입력란 추가, 기본 주소 뒤에 쉼표로 붙여 저장
좌표 변환 보완 : 상세 주소가 붙어 있어도 기본 주소로 위치를 찾도록 수정(승인 시 좌표 실패 방지)
제보 저장 오류 수정 : 제보 표에 동물병원용 칸(진료과목·가능 동물)이 없어 모든 제보가 실패하던 문제 — SQL 추가(add-proposals-vet-columns.sql), 칸이 없어도 저장되게 보완
사장님 통계 그래프 : 막대 위에 그날 조회수 표시, 막대를 누르면 날짜와 조회수 안내
그래프 선택 동작 : 다른 막대를 누르면 그 날짜로 바뀌고, 빈 배경을 누르면 선택 해제(폰에서 바로 풀리던 문제 수정)
정보 추가 제안 승인 수정 : 승인해도 빈 원래 장소가 그대로 보이던 문제 — 승인을 서버(/api/admin/apply-info-update)로 옮기고 원래 장소 숨김 실패를 오류로 처리
기록 이동 : 승인으로 장소 번호가 바뀔 때 후기·사진·찜·통계·신고·사장님 연결을 새 장소로 이동, 이미 승인된 2건(올리브영 구미확장단지점·뽀얌)은 DB에서 직접 정리
제보 삭제 보관 : 삭제한 제보를 지우지 않고 "삭제됨" 탭에 보관(되살리기·완전 삭제)
모달 오클릭 방지 : 모달 바깥(어두운 배경)을 눌러도 닫히지 않게 변경(16곳, 닫기는 X·취소 버튼으로만) — 작은 메뉴·사진 크게 보기·페이지 안내는 그대로
로고 그림 보완 : 이미지를 못 받았을 때 설명 글자가 세로로 깨져 보이던 문제 수정(대체 글자 제거, 1회 재시도)
관리자 페이지 하단 가림 : 폰에서 마지막 카드가 탭바에 가려지던 문제 수정(화면 높이 기준을 100vh → 100dvh, 8곳)
통계 그래프 겹침 : "순위별 클릭 수" 막대 위 수치가 제목과 겹치던 문제 수정(칸 높이 56 → 76), 날짜별 추이 그래프도 여유 높이 확보
새벽 작업 결과 알림 : 실패·대기 건이 있을 때만 오던 카카오톡 알림을 매일 한 통(백업·장소 상세 수집·목록 갱신·처리 대기)으로 변경
오늘 못한 일
실제 제보 저장 확인 : 사진 2장이 필요해 로그인 상태의 제출 흐름은 직접 확인 필요
사장님 탭 화면 확인 : 로그인이 필요해 그래프 수치 표시는 실제 화면에서 직접 확인 필요
예전 장소 번호 연결 : 정보 추가 승인으로 번호가 바뀐 장소의 예전 링크·저장 코스를 새 번호로 잇는 기능은 미구현
내일 할 일
새벽 작업 결과 확인 : 5분 안에 끝났는지, 관광공사 상세가 약 1,000곳 늘었는지
실사용 확인 : 폰에서 제보하기(상세 주소 포함)·글 검토·코스 저장·사장님 탭
[2026.10.07]
오늘 한 일
새벽 작업 점검 : 10/06·10/07 새벽 작업 정상 실행 확인(백업·목록 갱신·관광공사 상세 1,983 → 3,980곳), 오늘 결과를 카카오톡으로 수동 발송
관리자 폰 알림 : 관리자 대시보드에 "폰 알림" 카드 추가 — 카카오톡으로 오던 관리자 알림을 브라우저 알림(알림음)으로도 발송, 기기별 켜기·끄기·시험 알림
폰 알림 진단 : 알림이 안 보일 때 어디서 막혔는지(권한·화면 표시·서버 발송·기기 도착) 카드에 단계별로 표시, "화면 알림 시험" 버튼 추가
탭바 가림 수정 : 대시보드 마지막 카드가 탭바에 가려지던 원인(스크롤 칸이 flex라 아래 여백이 무시됨) 수정 — 폰 크기 화면으로 측정해 확인(-55px → +41px)
탭바 여백 자동화 : 탭바가 실제로 가리는 높이를 기기에서 재서 --ggk-tabbar-space로 제공, 스크롤 화면의 고정 숫자 여백(120px 등)을 모두 교체, 남은 100vh → 100dvh
재발 방지 테스트 : tabbarSpace.test.ts — 관리자 화면의 여백 값 사용, 100vh 금지, 세로 스크롤 칸의 가로 flex 금지 검사
대시보드 통계 카드 연결 : 5개 카드 모두 해당 화면으로 이동(등록된 장소 → 데이터 품질, 가입 회원 → 회원 관리, 비가입 이용자 → 통계 분석)
회원 관리 탭 : /admin/members — 회원별 활동·신고받은 횟수·관리자 삭제 수, 신고 다수 표시, 검색·정렬, 강제 탈퇴
관리자 폰 알림 제거 : 갤럭시 크롬에서 알림이 표시되지 않아(폰 설정에 "카테고리 차단" 표시) 웹 푸시 방식은 철회 — 앱 푸시로 다시 붙이기로 결정, 카카오톡 알림은 유지
안드로이드 앱 준비 : 사이트를 그대로 감싼 앱(TWA) 방식 — 앱 설정 파일(manifest)·앱 인증 파일(assetlinks.json) 추가, 앱 설정(mobile/android/twa-manifest.json), 서명 열쇠 생성(git 제외)
안드로이드 앱 파일 : Android SDK 설치 후 APK 빌드·서명(gachigagae-0.1.0.apk, 2.8MB) — 서명 지문이 사이트 인증 파일과 일치하는 것 확인
mobile 폴더 정리 : 모바일 앱 관련 파일을 mobile/에 모음(안드로이드 프로젝트, 빌드 스크립트 build-apk.sh, 안내 README) — 서명 열쇠·APK·내 컴퓨터 경로는 git 제외
앱 알림 : 관리자 알림 푸시를 다시 붙임 — 안드로이드 앱에서 켜면 크롬이 아닌 "같이가개 앱"의 알림으로 표시(알림 위임), 소리 없이 표시
공공데이터 점검 : 관광공사·유기동물·도시공원·국세청 API 모두 정상 응답, 지도 3만 2,989곳 좌표 이상 0곳 — 관광공사 9,672곳 중 8,611곳이 "쇼핑" 한 분류(약국·안경원·아울렛 매장 등)로 뭉쳐 있음을 확인
파일 데이터 자동 갱신 : API가 없는 두 데이터를 새벽 작업에서 자동으로 내려받아 반영 — 식품안전나라 음식점(매주 수요일, 새 곳 추가·빠진 곳 삭제), 문화정보원 문화시설(매달 1일, 파일이 바뀌었을 때만)
갱신 안전장치 : 새 목록이 기존의 절반 이하이거나 삭제가 30%를 넘으면 반영 중단, 관리자가 지운 장소는 되살아나지 않게 기억, 엑셀 읽기 직접 구현(xlsxRead.ts)
식품안전나라 1차 반영 : 목록에서 빠진 102곳 삭제(삭제 전 표 전체 백업), 문화정보원은 최신 파일과 DB가 동일함을 확인(차이 0곳)
프리미엄 가게 관리 : 프리미엄 화면에 "이용 중 가게" 탭 추가 — 가게별 무료 연장(+1·+3개월)·종료·배너 광고 제공·할인·메모, 대시보드에 "프리미엄 가게" 카드 추가
렉·트래픽 원인 측정 : 배포 사이트를 폰 조건(CPU 4배 느림·4G)으로 측정 — 지도 로딩 중 멈춤 합계 12.2초, 지도 데이터가 캐시되지 않아 열 때마다 서버 실행, 위치 없는 첫 방문은 전국 데이터(압축 2.4MB) 수신 등 확인
추천 계산 개선 : 장소마다 주변 공원 전체와 거리를 재던 것(수백만 번)을 격자 색인으로 교체(nearestGrid.ts) — 결과는 동일(테스트로 확인), 계산 시간 약 3.2초 → 0.1초(개발 서버 기준)
목록 그리기 개선 : 지도를 움직일 때마다 카드 300장을 다시 그리던 것을 30장씩 그리고 스크롤하면 더 그리도록 변경
지도 데이터 캐시 : 좌표를 0.1도 칸 단위로 맞춰 요청(mapTile.ts)해 CDN이 응답하도록 변경(5분 캐시), 같은 요청 중복 제거, 위치를 모르면 전국 대신 기준점(서울시청) 주변만 수신
지도 데이터 경량화 : 빈 값·기본 그림·안내문 등 목록에 필요 없는 값을 빼고 전송(대구 기준 압축 123KB → 54KB), 받는 반경 40km → 칸 기준 30km(내 위치 기준 약 23km 보장)
입양 공고 경량화 : 공고 사진을 화면 근처에 왔을 때만 받도록 변경(첫 화면 10장 → 7장), 카드의 상세 화면 미리 불러오기 끔
공고 사진 줄여 보관 : 정부 사진 서버가 한 장에 3~20초 걸리고 가끔 응답이 없어 사진이 늦게 뜨거나 깨져 보이던 문제 — 우리 서버가 한 번 받아 작은 WebP(480·960px)로 줄여 저장소에 보관하고 내려줌(/api/shelter-image), 30일 지난 보관분은 새벽 작업이 삭제
[2026.10.08]
오늘 한 일
레벨 점수 조정 : "받은 좋아요"를 점수에서 제외(좋아요 수는 부풀릴 수 있어 레벨 조작 가능)
신고 처리 결과 기록 : 신고를 닫을 때 받아들임(조치함)·기각(그대로 둠)을 함께 기록(reports.resolution, report-resolution.sql) — 신고 관리의 "보류" 버튼을 "문제없음 · 기각"으로 변경, 처리완료 목록에 결과 표시
앱 아이콘 시안 : 슈나우저 기준 5가지 방향(스카프 얼굴·지도 핀 속 얼굴·두 마리·발자국 핀·수염 실루엣) 제시
오늘 못한 일
앱 아이콘 확정 : 시안 선택 전, 선택 후 앱·사이트 아이콘 파일로 제작 필요
회원 레벨 화면 연결 : 방문 기록용 DB 표, 마이페이지 표시, 닉네임 배지 미구현
내일 할 일
앱 아이콘 : 고른 시안을 다듬어 앱(mobile/android)과 사이트에 적용
회원 레벨 : 방문 기록 표 → 마이페이지 레벨 표시 → 닉네임 배지 → 회원 관리 탭 순서로 연결
[2026.10.10]
오늘 한 일
알림 아이콘 교체 : 상단바에 흰 동그라미로 보이던 알림 아이콘을 핀 모양 슈나우저 실루엣으로 변경, 알림창의 큰 그림은 글자 없는 핀 로고(0번 시안)로 변경
알림 아이콘 제작 스크립트 : mobile/icon-drafts/make-notification-icons.cjs — 실루엣·컬러 아이콘과 앱용 5종 크기를 한 번에 생성
앱 0.1.1 : 새 알림 아이콘을 담아 다시 빌드·서명(같은 열쇠라 기존 앱 위에 덮어 설치 가능)
앱 0.1.2 : 알림창의 작은 아이콘을 로고의 갈색으로 표시(상단바 아이콘 색은 안드로이드가 정해 변경 불가)
앱·사이트 아이콘 교체 : 글자 없는 핀 로고(0번 시안)를 앱 아이콘·시작 화면·브라우저 탭 아이콘·홈 화면 추가 아이콘에 적용(make-app-icons.cjs), 앱 0.1.3
헤더 로고 교체 : 지도·서비스 소개 상단 로고를 핀 로고 + "같이가개"(싱글데이 글꼴, 발자국 포인트)로 통일(public/icons/logo_lockup.png) — 손그림 슈나우저 두 마리는 빈 화면 등의 마스코트로 유지
대표 그림 교체 : 링크 공유 그림(public/og-default.png)과 사진 없는 장소 그림(default-place.png)을 새 로고·지도 한 조각 디자인으로 통일 — 예전 파란 아이콘 모양 그림 제거
장소 공유 카드 : 장소 링크를 공유할 때 그려지는 카드를 같은 틀(왼쪽 로고·장소 이름·주소·분류, 오른쪽 지도 한 조각과 핀)로 변경, 이름·주소의 괄호 덧붙임은 생략
예전 로고 완전 제거 : 빈 화면(찜·후기·글 없음, 관리자 빈 목록)의 손그림 슈나우저 두 마리를 핀 로고로 교체하고 예전 로고 파일(header_logo_final.png) 삭제
불러오는 화면에 로고 : 통통 튀는 핀 로고(LogoLoader)를 지도 첫 화면·위치 확인·목록 불러오기 등 24곳에 적용(예전에는 "불러오는 중..." 글자나 회색 뼈대 화면)
첫 화면 속도 개선 : 글꼴이 첫 그림을 막지 않게 변경, 지도 코드·지도 엔진·장소 데이터를 차례로 받던 것을 동시에 받게 변경, 지도를 먼저 그린 뒤 장소를 올리게 변경, 탭 화면 미리 받기 — 시험 환경 기준 지도 첫 그림 1.5초 → 0.5초, 지도 표시 1.5초 → 0.9초(PC) / 3.54.5초 → 2.63.0초(느린 폰 조건)
커뮤니티·입양 목록을 서버에서 채워 보내기 : 빈 화면을 보낸 뒤 목록을 받아 오던 구조를, 서버가 첫 목록을 화면에 넣어 보내도록 변경(커뮤니티 30초·입양 5분마다 새로 만듦), 한 번 본 목록은 기억해 뒀다가 바로 표시 — 느린 폰 조건 2.22.9초 → 0.91.0초
지도 먼저 그리기 : 지도 엔진을 다른 코드보다 먼저·한꺼번에 받고, 화면 코드가 준비되기 전에 지도부터 그린 뒤 지도 화면이 그 지도를 넘겨받게 변경(layout.tsx → KakaoMap initializeMap) — 재방문 시 지도 그림 0.3초(PC)
가까운 공원 거리 계산 개선 : 지도 로딩 계산 시간의 절반(0.57초)을 차지하던 계산을 0.13초로 줄임(격자 칸을 잘게 나누고, 가점이 붙는 1km까지만 찾음, 결과는 같음 — 테스트 추가)
입양 화면이 빈 채로 다시 만들어지던 문제 수정 : 배포 후 5분마다 화면을 새로 만들 때 공고를 4초 안에 못 받으면 빈 화면으로 덮어쓰던 것을, 시간 제한을 없애고 실패하면 직전 화면을 유지하도록 변경(화면을 띄운 뒤 최신 공고로 한 번 더 바꿈)
말로 찾는 검색 : "우리동네 핫플"(HOT 배지 장소), "우리동네 새장소"(NEW 배지), "우리동네 카페·동물병원·공원", "대구 삼덕동 핫플", "대구 올리브영"처럼 "어디에서 · 무엇을"로 풀어 지도·목록에 그 장소만 표시(풀이 규칙 src/lib/searchIntent.ts, 테스트 9개). 아는 낱말이 없는 검색어는 예전 방식 그대로
글꼴 통일 + 가볍게 : 본문 Noto Sans KR·제목 Pretendard로 나뉘어 있던 글꼴을 Noto Sans KR 하나로 통일(PC·폰 동일), 글꼴 조각 1,324개 → 248개, 화면이 다 뜬 뒤 적용 — 글꼴 적용 계산이 느린 폰 조건에서 1초 넘게 걸리던 문제 해결. 입양 카드 문구의 손글씨 글꼴(Gaegu)이 앞선 속도 작업에서 빠졌던 것도 복구
지도 그림을 먼저, 검색·버튼은 그다음 : 먼저 그린 지도의 그림이 뜬 뒤에 지도 화면 코드를 실행하도록 순서 변경(최대 2.5초까지만 기다림)
지도가 뜬 직후 멈칫하던 계산 줄이기 : 추천 점수(주변 1만여 곳)를 추천 패널을 열 때만 계산, 신규 장소 정렬은 등록일 있는 곳만, 장소 데이터 풀기(expandPlace)를 빠른 방식으로 변경 — 지도 화면 코드의 계산 시간 약 450ms → 160ms(같은 조건 비교)
아이콘 시안 모음 : 이름 없는 형태 + 글꼴 32가지를 한 장 이미지로 정리(mobile/icon-drafts)
오늘 못한 일
알림 아이콘 실기기 확인 : 새 앱을 설치해 상단바에 실루엣이 뜨는지는 직접 확인 필요
앱 아이콘 실기기 확인 : 새 앱을 설치해 홈 화면 아이콘이 바뀌는지는 직접 확인 필요
[2026.10.11]
오늘 한 일
지도 데이터를 칸 단위로 받기(근본 개편) : 내 위치 반경 30km를 한 번에 받던 것(서울 12,741곳·3.5MB)을, 전국을 0.05도 칸으로 나눠 지도에 보이는 칸과 내 위치 주변 칸만 받도록 변경(서울 한복판 첫 화면 약 520곳) — src/lib/placeTiles.ts(칸 계산)·placeTileStore.ts(받은 칸 보관, 많아지면 먼 칸부터 버림)·mapData.ts
칸 단위 서버 창구 : /api/public-data/nearby·parks에 ?tx=&ty= 추가(전체 목록을 한 번 칸별로 나눠 두고 꺼내 줌, CDN 캐시)
넓은 범위가 필요할 때만 예전 방식 : AI 코스·추천 패널을 열거나 지도를 넓게 축소했을 때만 반경 30km를 받고, 닫거나 확대하면 다시 가볍게(받는 동안 "주변 장소를 모으는 중" 표시)
이름 검색을 전국으로 : /api/public-data/search 추가 — 화면 밖 가게도 이름으로 찾음(가까운 순 60곳). 예전에는 받아 둔 반경 30km 안에서만 찾음
효과(같은 조건 비교, 서울·재방문) : 지도 화면 코드 계산 825ms → 85ms, 지도가 뜬 직후 2초 넘게 멈추던 구간 사라짐, 느린 폰 조건 지도 그림 1.85초 → 1.5초
다른 탭에 갔다 오면 지도가 비던 문제 수정 : 받아 둔 칸이 먼저 반영된 뒤 우리 DB 장소가 통째로 덮어쓰던 것을 바꿔 끼우기로 변경(이번 개편 중 발견)
넓게 볼 때는 구역별 숫자 동그라미 : 6단계 이상으로 축소하면 장소를 하나하나 마커로 만들지 않고, 서버가 확대 단계에 맞는 구역으로 세어 둔 수만 받아 동그라미로 표시(/api/public-data/counts, src/lib/tileCounts.ts) — 서울 전체 보기에서 화면 멈춤 41초 → 0.1초(PC), 느린 폰 조건 1분 이상 → 1.2초. 다른 지도 서비스들의 방식(보이는 범위만 받기 + 넓게 볼 때 서버 집계)을 조사해 따름
지도를 끌어도 목록이 안 바뀌던 문제 수정 : 마커를 다시 그리는 일이 카카오 지도의 멈춤(idle) 처리 도중에 일어나 뒤 순서의 화면 범위 갱신이 건너뛰어지던 것(실제 사이트에도 있던 문제) — 범위 갱신을 따로 떼고 마커 그리기는 처리 뒤로 미룸
가까이 볼 때도 많으면 숫자 동그라미 : 이름표 단계(5단계 이하)라도 화면 안의 장소가 200곳을 넘으면 이름표 대신 숫자 동그라미로 표시(받아 둔 장소를 화면에서 바로 구역별로 셈, 한적한 지역은 이름표 그대로) — 서울 한복판 5단계에서 한 번 끌 때 멈춤 1.9초 → 0초(PC), 5단계로 넘어갈 때 17.5초 → 0.5초(느린 폰 조건)
회원 레벨 연결 : 방문 기록(member_visits)·레벨 상태(member_levels) 표 추가(scripts/sql/member-level.sql), 서버에서 활동 기록으로 점수·레벨 계산(src/lib/server/memberLevelData.ts, /api/me/level·/api/me/visit·/api/member-levels), 마이페이지 "내 레벨" 카드, 닉네임 옆 레벨 배지(커뮤니티 목록·글 상세·장소 후기), 관리자 회원 탭에 레벨·점수 표시
레벨 규칙 변경 : "사진 후기 가산" → "장소 사진 등록"(장소 상세에 사진을 올리면 5점, 하루 3장까지, 3장이 지도 기여 1회) — 누가 올렸는지와 누가 신고했는지는 DB가 직접 기록(브라우저가 보낸 값은 무시)
관리자 회원 탭의 글 수가 늘 0이던 문제 수정 : 커뮤니티 글의 글쓴이를 비어 있는 칸(auth_user_id)에서 찾고 있었음 → author_auth_key
새 음식점 좌표를 인허가 데이터에서 찾기 : 식품안전나라 새 음식점(주소만 있음)의 좌표를 행정안전부 지방행정 인허가 조회서비스(일반음식점·휴게음식점·제과점영업, 공공데이터포털 계정 키)에서 같은 주소의 인허가 기록으로 찾음(src/lib/server/permitCoords.ts) — 대기 중이던 448곳 중 427곳 지도에 추가, 21곳은 인허가 기록을 못 찾아 보류. 브이월드·행정안전부 주소 좌표 API는 저장·인터넷 표시·해외 서버 제한 조건이 있어 쓰지 않기로 함
첫 방문 소개 새로 만들기 : 데모 안내 팝업을 넘겨 보는 다섯 장 소개로 교체(src/components/WelcomeIntro.tsx) — 첫 장은 데모(시범 운영) 안내, 이어서 지도·검색·AI 코스와 추천·함께 채우는 지도. 앱을 새로 열 때마다 한 번 뜨고 "다시 보지 않기"를 누르면 그 기기에서는 더 안 뜸("오늘 하루 보지 않기"와 "PC 화면 기준" 문구는 없앰)
아이콘 안내(화면 안내) 문구를 바뀐 기능 기준으로 수정 : 지도에 검색·내 위치 직접 지정·숫자 동그라미 단계 추가, 신규 장소·AI 코스·사장님 등록·제보하기 설명 갱신, 장소 상세에 사진 추가 단계, 커뮤니티에 인기 게시판·레벨 배지, 마이페이지에 내 레벨 카드(src/lib/pageGuides.ts)
오늘 못한 일
실제 폰 확인 : 칸 단위로 바꾼 뒤의 체감(지도 끌기·확대 축소·AI 코스 열기)은 직접 확인 필요
다시 그리기 횟수 줄이기 : 지도가 뜨는 동안 11~12번 다시 그려지는 것은 아직 그대로
내일 할 일
이름 넣은 로고 : 추천받은 글꼴 번호로 스토어 대표 이미지·로딩 화면용 로고 제작
회원 레벨 : 방문 기록 표 → 마이페이지 레벨 표시 → 닉네임 배지 → 회원 관리 탭 순서로 연결
[2026.10.12]
오늘 한 일
"우리동네" 표시는 그 말을 썼을 때만 : "근처 카페"·"내주변 카페"는 "내 주변"으로 표시(src/lib/searchIntent.ts)
"곳 이름 근처 ○○" 검색 : "경북대 근처 카페", "서울역 앞 식당", "경북대앞", "~에서 가까운"처럼 앞에 곳 이름이 있으면 내 위치가 아니라 그곳 근처에서 찾음 — 학교·역·시장 같은 이름은 카카오 장소 검색으로 위치만 찾아 지도를 옮김(/api/kakao/local?type=keyword, 저장하지 않음)
"근처" 검색은 범위 고정 : 중심(내 위치 또는 찾은 곳)에서 2km 안만 마커·목록에 표시, 없으면 5km까지 넓히고 목록 위에 안내 한 줄. 지도를 옮겨도 범위 밖 마커는 안 뜨고 목록은 중심에서 가까운 순으로 고정
"우리동네"는 같은 읍·면·동만 : 내 위치와 행정동이 같은 곳만 표시하고 목록 위에 동 이름 표시(/api/kakao/local?type=dongs — 후보 좌표의 읍·면·동을 한 번에 조회)
가게 이름 검색 : 가까이에 없으면 가장 가까운 곳으로 지도를 옮기고 목록 위에 "○km 안에는 없어요" 안내. 프랜차이즈 목록 없이 어떤 이름이든 같은 방식
특정 가게 근처 검색 : "올리브영 경북대점 근처 카페"처럼 우리 지도의 가게를 기준점으로 삼고 그 가게도 함께 표시. 가게 이름은 띄어쓰기·낱말 순서에 상관없이 맞춤(nameMatchesQuery)
이름 검색 때 지도에 그 이름의 마커만 : 목록만 걸러지고 지도에는 모든 마커가 뜨던 문제 수정
위치 조회 헛돌기 줄이기 : 학교·역처럼 생긴 이름을 지역으로 착각해 "시·구·동"을 붙여 가며 10번쯤 조회하던 것을 건너뜀, 조회 한도 1분 60회 → 120회
목록 카드 배지(HOT·NEW·TOP) : 검정 네모 → 흰색 둥근 배지에 색 글씨
장소 상세 "장소 제보하기" → "빠진 정보 제보하기" : 지금 비어 있는 항목을 위쪽에 모으고 "비어 있음" 표시, 값이 있는 항목은 "지금: ○○" 표시
"화면 알림 시험"의 상단바 아이콘이 하얀 네모로 보이던 문제 : 이 버튼만 상단바 전용 아이콘을 안 쓰고 있었음
확대·축소 버벅임 줄이기 : 지도가 멈출 때마다 이름표를 전부 지우고 다시 만들던 것을, 그려진 것은 두고 바뀐 것만 떼고 붙이며 새 이름표는 10개씩 나눠 붙이도록 변경 — 이름표 단계(4단계)로 축소할 때 가장 긴 멈춤 1.2초 → 0.43초, 확대할 때 0.8초 → 0.22초(실제 사이트 대비, 느린 폰 조건)
관리자 데이터 품질 화면에 점검한 장소 내역 추가 : 장소마다 이름·주소·사진 수·정상 여부 표시, 직접 등록·제보된 장소만 점검한다는 설명 추가(src/lib/server/dataQuality.ts)
관리자 통계의 추천 성과를 카드 하나로 : 전원이 같은 추천(v2)을 쓰는 동안에는 "그룹 미기록"·"v2"로 나누지 않고 합쳐서 표시, 비교 실험(v1)을 켰을 때만 그룹별로 표시
관광공사 데이터 점검 : 상세 정보 8,972곳 수집 확인(10월 4일부터 매일 약 1,000곳씩, 남은 것 40곳 안팎)
프리미엄 대신 신청 없애기 : 관리자가 사장님 화면을 미리 볼 때 신청란을 숨기고 안내만 표시, 서버(/api/owner/apply-premium)도 사장님 본인 계정의 신청만 받음. "대신 처리" 스위치는 가게 정보 수정용으로만 남김
오늘 못한 일
확대·축소 버벅임의 나머지 : 이름표를 다 붙일 때까지의 전체 시간(2~3초 동안 자잘한 끊김)은 그대로 — 이름표 하나를 붙이는 비용이 큰 원인을 아직 못 찾음
PC 목록 머리줄 : 검색 풀이 표시가 길어져 "주변 장소" 제목이 두 줄로 꺾이고 표시가 잘림
폰 확인 : 상단바 알림 아이콘, 마이페이지 설정, 공원의 빠진 정보 제보 폼은 직접 확인 필요
내일 할 일
확대·축소 버벅임 원인 더 찾기(어디서 시간이 쓰이는지 측정)
앱 다운 유도 방식 정하기, 상표 출원 절차 알아보기
[2026.10.13]
오늘 한 일
보호소·후원 화면 추가(/shelter-notices/support) : 유기동물 공고 API의 최근 공고를 보호센터별로 묶어 전국 목록을 만듦(이름·지역·전화·보호 중인 수 — 주소와 지도는 일부러 뺌, 유기 장소로 쓰이지 않게). 이름·지역 찾기, 시·도 선택, 보호센터를 누르면 그곳 공고만 모아 보는 화면(/shelter-notices/support/[id])
후원 단체 연결 : 같이가개는 후원금을 받지 않고 단체의 공식 후원 페이지로만 연결(계좌번호는 싣지 않음). 관리자 "후원 단체" 탭에서 단체를 추가·숨김(/admin/support, 비공개 저장소 파일에 보관)
입양 화면 머리 부분 새로 : 흰 막대·뒤로 가기를 없애고 갈색 띠("사지 말고, 입양하세요")로 시작, "보호소·후원" 버튼을 띠 안으로. 커뮤니티·마이페이지 옆 칸의 입양 제목도 같은 띠로
지역 분류를 지금 행정구역으로 통일 : 게시판·입양·보호소 화면 모두 가나다순 16곳(전남·광주는 "전남광주" 하나로, 세종 추가). 공고 API의 강원·전북 코드를 최신 값으로 수정
어두운 화면(다크) 모드에서 글자가 흐리게 보이던 문제 : 다크 모드일 때 기본 글자색만 밝게 바뀌던 설정을 없애고 밝은 화면 하나로 고정, 지도 이름표에 글자색 지정
첫 방문 소개의 "다시 보지 않기" 기록 초기화(잘못 누른 기기에도 다시 뜨게)
관리자 목록에 쪽 나누기와 일괄 처리 : 신고·제보·글 검토·회원·사장님 인증·프리미엄·에러 로그에 한 쪽 20/50/100건 보기, 신고 닫기·제보 보류/삭제/되살리기·글 게시/반려·에러 삭제는 여러 건 한꺼번에(src/components/admin/AdminListTools.tsx). 승인·강제 탈퇴처럼 한 건씩 봐야 하는 처리는 제외
보호소·후원 화면과 보호센터별 화면의 흰 막대(뒤로 가기) 삭제 : 갈색 띠 위에 "입양 공고"·"보호소 목록" 이동 버튼만 둠. 머리 띠 첫 줄에 작은 이름표와 이동 버튼을 나란히 둬 입양 화면과 같은 구조로 맞춤
입양 화면의 지역 선택 줄 : 가로 스크롤 막대가 버튼에 붙어 보이던 것에 여백 추가
보호센터 화면의 숫자 칸을 누르면 그 조건의 공고만 : 보호 중(전체)·강아지·고양이·기타·마감 임박. "그 밖"은 "기타"로 변경
"사장님으로 전환하기" 창 읽기 쉽게(내용·기능은 그대로) : 안내 글을 문장별로 줄 나눔, 폰에서는 주소·가게명·상세주소 칸을 한 줄에 하나씩, 스크롤 막대를 입력칸 옆이 아니라 창 가장자리로, PC에서는 창 폭 460 → 520
시·도 순서를 가나다순에서 흔히 나열하는 순서로 : 서울·부산·대구·인천·전남광주·대전·울산·세종·경기·강원·충북·충남·전북·경북·경남·제주(입양 화면·지역 게시판·보호소 화면 공통, SIDO_LIST)
보호소·후원 화면 속도 : 보호센터 한 곳을 처음 열 때 8초 걸리던 것 수정 — 공고를 묶은 결과를 저장소에 보관(shelter-directory-v1.json.gz)해 0.3초대에 읽고, 1시간이 지나면 응답을 보낸 뒤에 새로 만듦. 목록·보호센터 화면은 서버가 내용을 채워서 보냄(뜬 뒤에 받지 않음, 10분마다 새로 만듦)
입양 공고 요청 속도 : 같은 지역 요청은 CDN이 2분 동안 대신 응답, 지난번에 본 지역 목록은 기기에 30분 기억해 탭을 열면 바로 표시
프리미엄 업장 노출 강화 : 목록 맨 위 "프리미엄 업장" 칸이 화면에 걸렸을 때만이 아니라 지도 중심·내 위치에서 3km 안이면 필터·검색과 상관없이 항상 보이게, AI 코스에는 출발지 2km 안의 프리미엄 업장 한 곳을 정거장으로 넣음(사용자가 뺀 곳은 다시 넣지 않음). 확인용으로 뽀얌(장소 1번)을 30일 프리미엄으로 표시
보호센터 화면을 열 때 카드 문구가 서버와 브라우저에서 달라 화면이 어긋나던 문제 수정(문구 순서 숫자를 서버가 정해 줌)
오늘 못한 일
관리자 화면 직접 확인 : 후원 단체 탭, 쪽 나누기·일괄 처리가 들어간 일곱 화면은 로그인 상태에서 확인 필요
후원 단체 후보 조사 : 등록 여부를 공개 자료로 확인할 수 있는 단체 찾기
관리자 목록을 서버에서 쪽 단위로 받기 : 지금은 한 번에 받아 화면에서만 나눔
내일 할 일
확대·축소 버벅임 원인 더 찾기
앱 다운 유도 방식 정하기, 상표 출원 절차 알아보기
[2026.10.14]
오늘 한 일
사장님 센터로 확장 : 사장님 화면(/owner)에 "예약"·"상품" 메뉴 추가, 사장님 화면 안에서는 아래 탭바가 사장님용(홈·예약·상품·광고·손님 화면)으로 바뀜. 보는 메뉴는 주소 끝 #이름과 맞춰 새로 고침해도 유지(src/lib/ownerTab.ts)
요금제 2단계 추가(이름·가격은 시범 제안가, ownerPlans.ts에서 변경) : 프리미엄 스토어(월 33,000원, 상품 등록·예약 포장) · 동네 대표(월 55,000원, 배너 광고 포함). 신청할 때 단계를 고르고, 관리자가 승인하면 places.premium_plan에 기록
상품 등록 : 사장님이 상품 이름·설명·가격을 올리고 판매 중지·수정·삭제(가게당 60개까지). 관리자는 "사장님 요청으로 대신 처리하기"를 켰을 때만 대신 수정
예약 포장 : 손님이 장소 상세 화면에서 상품 수량을 고르고 이름·전화·가지러 갈 시간을 적어 예약(로그인 필요, 결제는 가게에서 — 건당 수수료 없음). 사장님은 확정·거절 → 준비 완료 → 수령 완료로 넘기고, 손님은 준비 완료 전까지 취소 가능
예약 안전장치 : 상품 이름·가격은 손님이 보낸 값이 아니라 가게가 올린 값으로 서버가 다시 계산, 한 사람 10분에 5건·한 가게에 진행 중 3건까지, 손님 이름·전화는 그 가게 사장님과 관리자만 조회(표는 RLS로 막고 서버만 접근)
새 예약 알림 : 확인을 기다리는 예약 수를 아래 탭바의 "사장님"·"예약" 칸과 사장님 화면 메뉴에 빨간 숫자로 표시(1분마다, 다른 창에서 돌아올 때 다시 확인)
배너 광고를 '동네 대표' 전용으로 : PC 양옆 광고 칸(커뮤니티·마이페이지)은 보는 사람과 같은 시·군·구의 '동네 대표' 가게만 노출, 휴대폰에는 화면 위쪽 한 줄 배너 추가(가게가 없으면 안 보임). /api/ads/local
광고 칸에 가게가 한 곳뿐일 때 생기던 화면 경고(같은 번호표 중복) 수정
규칙 테스트 추가(storeRules.test.ts) : 상품 입력, 예약 상태 순서, 예약 내역 계산, 요금제 단계, 동네 배너 고르기
사장님 새 예약 알림(기기 알림) : 사장님 센터 "예약" 화면의 "새 예약 알림" 카드에서 기기마다 켜면, 예약이 들어올 때 휴대폰 상단바에 알림이 한 건씩 쌓임(사이트를 닫아 두어도). 기기 목록은 owner_push_subs에 보관, 발송은 기존 알림과 같은 키·서비스 워커 사용
멍멍 알림음 : 수식으로 합성해 직접 만든 소리(scripts/make-bark-sound.cjs → public/sounds/bark.wav, 저작권 문제 없음). 사장님 화면을 열어 둔 동안 새 예약이 오면 재생, 카드에서 켜기·끄기·들어보기
안드로이드 앱 0.1.4 : "새 예약 알림" 전용 알림 채널을 만들어 알림 자체가 멍멍 소리로 울리게 함(다른 알림은 그대로). 앱 파일 빌드·서명 완료(mobile/android/gachigagae-0.1.4.apk, git에는 올리지 않음)
공원 중복 제거 : 전국 공원 데이터에 이미 있는 공원이 문화정보원 등 다른 공공데이터에도 있어 두 번 보이던 것 — 이름(종류 말·띄어쓰기 무시)이 같고 1.5km 안이면 다른 쪽을 목록·검색·지도에서 뺌(약 170곳, src/lib/parkDuplicates.ts). 데이터는 지우지 않고 보여 줄 때만 뺌
배너 광고 노출 규칙 정리(src/lib/localAds.ts) : 대상 = 동네 대표 요금제 또는 관리자가 켠 배너 혜택(기한) / 보는 사람과 같은 시·군·구에만 / 한 동네 가게 수 제한 없음 / 여러 곳이면 노출 횟수를 똑같이 나눔 / 자리는 PC 양옆 2칸 + 휴대폰 1칸
배너 성과 집계 : 배너가 보인 횟수·눌린 횟수를 기록해 사장님 통계에 표시(배너를 낸 가게만)
관리자 프리미엄 "이용 중 가게" 화면 새로 : 위쪽 요약(이용 중·7일 안 만료·배너 노출·정가 기준 월 합계)과 동네별 배너 자리 현황, 가게마다 "− 일수 +"로 기간 늘리기·줄이기(누르기 전에 바뀔 만료일 미리 표시, 줄여서 남는 기간이 없으면 종료), 요금제 단계 바꾸기, 배너 노출 여부와 이유, 최근 변경 기록(누가·언제·무엇을 — premium_changes)
사장님이 직접 만드는 배너 : 사장님 화면 "광고"에 "배너 광고 만들기" 추가 — 큰 문구·작은 문구·사진(5MB, 파일 내용으로 종류 확인)·글꼴을 고르면 PC 양옆 칸과 휴대폰 한 줄 모양으로 바로 미리보기, 저장하면 광고 칸에 자동으로 나감(미리보기와 실제 광고가 같은 그림 — BannerCreativeView)
배너 글꼴 9가지 : 같이가개 로고체, 고딕 4종(깔끔한·부드러운·굵은 제목·각진), 진지한 궁서체(기기에 궁서체가 없으면 명조체), 손글씨 2종, 둥근 글씨 — 모두 상업적으로 쓸 수 있는 구글 글꼴
배너 변경은 2주에 한 번 : 그 전에 바꿔야 하면 사장님이 이유를 적어 "한도 변경 요청" → 관리자에게 알림 → 관리자 프리미엄 화면 "배너 관리" 탭에서 승인(한 번 더 바꿀 수 있게 열림)·거절. 같은 탭에서 가게별 배너를 실제 모양으로 보고 내리기·다시 올리기·한도 한 번 풀어 주기
배너를 누구에게 보여 줄지(src/lib/localAds.ts) : 내 시·군·구의 배너 가게 → 없으면 20km 안 근처 지역 → 없으면 최근에 검색·조회한 지역(기기에만 기억하는 관심 지역) 근처의 배너 가게, 그것도 없으면 그 근처 프리미엄 가게 → 아무 관련 없으면 전국 배너 가게 중 무작위
[2026.10.15]
오늘 한 일
모두의 창업 AI 솔루션 신청안 정리 : 103개 솔루션 중 같이가개에 맞는 약 30개의 가격·설명을 확인해, 심사 의견(데이터 최신성·최소 매출액·구체성)과 정식 출시에 맞춘 1·2개월차 조합을 만듦(1개월차 출시 준비·서류, 2개월차 마케팅·지표)
관광공사 장소의 메모에서 장소 소개(홍보성 긴 설명) 제외 : 반려동물 동반 안내(동반 범위·준비물·주의사항)만 남김(tourMemo). 공공데이터 목록을 다시 만들 때(매일 새벽 자동) 반영됨
오늘 못한 일
관광공사 메모 변경을 실제 화면에서 확인 : 배포 후 공공데이터 목록이 다시 만들어져야 보임
내일 할 일
AI 솔루션 신청(부가세 포함 여부·MonoGPT API 연결 방식 확인 후)
사업자 등록·상표 출원·도메인 구매 진행
[2026.10.22]
오늘 한 일
심사 의견 보완 ① 데이터 최신성 : 장소 상세에 "정보 확인" 칸 추가 — 방문자 확인·사장님 확인·공공데이터 갱신 중 가장 최근 것을 "마지막 확인"으로 표시(30일 안 최근 / 180일 안 보통 / 그 이상 오래됨), 다녀온 이용자가 "정보가 맞아요 / 달라졌어요(동반 불가·폐업·정보 다름)"를 한 번에 남김(로그인 없이도, 같은 사람은 7일 안에 다시 누르면 바꿈). "달라졌어요"가 몰리면 손님에게 방문 전 전화 확인 경고, 동반 불가·폐업 제보는 관리자에게 바로 알림
사장님 확인 : 사장님이 정보를 저장하거나 "지금 정보가 맞아요"를 누르면 확인일을 남겨 손님에게 "사장님 확인 ○월 ○일"로 보임
관리자 데이터 품질 화면에 "방문자 제보" 목록(경고 상태인 곳 먼저)
심사 의견 보완 ② 마케팅 유입 경로 : 페이지 조회 기록에 이번 방문 채널·처음 들어온 채널(90일 기억)·캠페인을 함께 남기고, 관리자 통계 분석에 "유입 경로" 칸(채널별 방문자·재방문·회원·신규 가입)과 채널별 홍보 링크 만들기·복사 추가
심사 의견 보완 ③ 최소 매출액 계산 : 관리자 "사업성 계산" 화면 추가 — 월 운영비와 요금제 정가·가입 비율·결제 수수료를 넣으면 손익분기 유료 가게 수, 필요한 월·연 매출, 가게 수별 월·연 이익을 계산(입력값은 이 기기에만 저장)
오늘 못한 일
정보 확인 칸 켜기 : Supabase에서 scripts/sql/place-verification.sql 실행 필요(그 전에는 칸이 보이지 않음)
AI 제보 자동 검증 : AI 사용 키가 없어 아직 꺼져 있음(MonoGPT API 또는 AI 사용 키를 받으면 연결)
관리자 화면 직접 확인 : 유입 경로·사업성 계산·방문자 제보는 로그인 상태에서 확인 필요
내일 할 일
AI 제보 자동 검증 연결
사업자 등록·상표 출원 진행 상황에 맞춰 도메인 이전 준비
[2026.10.27]
오늘 한 일
모두의 창업 멘토링 자료 : 멘토 요청(창업 아이디어·소개 자료)에 맞춰 발표 자료 17장·제안서 10쪽을 PDF로 제작(docs/mentoring) — 공공데이터 자동화 과정, 수익 구조 설계 순서, 차별점·강점, 손익분기(유료 업장 약 17곳), 멘토링 요청 4분야(디자인·수익화 빌드·사업화 절차·추가 기능 수익성) 정리
자료 폰트·가독성 : 제목은 G마켓 산스, 본문은 Pretendard. 모든 줄을 직접 끊고(자동 줄바꿈 없음) 글자 넘침 검사 스크립트로 전 페이지 0건 확인, 폰트는 PDF 안에 포함
캔바 커넥터 연결 : 토큰 허용 실패 → 다시 연결해 정상 동작 확인(캔바 AI가 만든 초안은 요금이 실제와 달라 사용하지 않음)
장소 수 기준 확인 : 지도 장소 33,369곳(문화정보원 21,114 · 관광공사 9,485 · 식품안전나라 2,770, 중복 제거) / 새벽 알림의 "장소 상세 (9,657/9,658)"은 관광공사 장소의 상세 정보 수집 현황이라 1만 곳이 안 됨
장소 상세가 줄어든 원인 : 관광공사가 자기 목록에서 장소를 빼서(저장된 상세 9,678곳 중 21곳이 지금 목록에 없음) 다음 날 지도에서도 빠짐 — 안전장치(절반 이하·30% 삭제 시 중단)는 식약처·문화정보원 파일에만 있어 알림이 없었음
새벽 알림 개편(src/lib/cronDigest.ts, src/lib/server/cronState.ts) : 관광공사 목록을 어제와 비교해 빠진 곳·새로 생긴 곳을 수와 이름으로 표시, 지도 장소 수를 공공데이터별로 어제와 비교(예: 관광 9,480(-3)), 관광 상세·요일 작업(공원·폐업·품질·음식점·문화시설 파일)·처리 대기·오류·백업까지 카카오톡 한 통에 담음
카카오톡 200자 제한 대응 : 중요한 줄부터 넣고, 넘치면 백업 같은 줄을 먼저 빼고 이름 수를 줄임. 앱 알림에는 이름을 20곳까지 담은 긴 문구를 보냄. 화요일 품질 점검 결과도 따로 보내지 않고 한 통에 합침
목록을 다 못 받은 날 대비 : 관광공사 목록이 비었거나 10% 넘게 줄면 "목록 이상 — 기준 유지"로 알리고 어제 목록을 그대로 둠
테스트 추가(cronDigest.test.ts 12개, 전체 347개 통과), 로컬에서 관광공사 비교·지도 집계 단계 실행 확인(비교 기준 9,658곳 저장)
오늘 못한 일
실제 새벽 알림 확인 : 배포 후 다음 새벽 3시 작업부터 새 형식으로 옴(오늘 저장한 기준과 비교)
지도 관광공사 수 변동 : 오늘 밤 다시 만든 목록은 관광 9,483곳(새벽 9,485곳)으로 목록 수는 같은데 2곳 차이 — 내일 알림의 증감으로 확인 필요
내일 할 일
새벽 알림이 새 형식으로 왔는지, 200자 안에 잘 들어왔는지 확인
멘토에게 회신 메일(소재지·가능 일자) 보내기
[2026.10.28]
오늘 한 일
숙소 직접 예약 구조 확정 : 손님이 예약할 때 전액 결제 → 이용 확정 다음 영업일에 수수료를 뺀 금액을 숙소에 정산. 수수료 기본 8% / 숙소 프리미엄(관리·보상) 5% / 입점일부터 3개월 입점 프로모션 5%(src/lib/lodgingPolicy.ts)
취소·환불 규정 : 공정위 소비자분쟁해결기준(숙박업) 그대로 + 성수기 2일 전 주중 80%·주말 90% 공제, 예약 당일 취소 전액 환불, 숙소 사정 취소는 전액 환불 + 배상. 손님 사정 위약금에는 취소 정산 수수료 15%. 공휴일 표(2026~2027)와 숙소별 성수기 기간 설정 추가
이용 확정 : 체크아웃 날부터 손님 화면에 "이용 확정" 버튼, 3일 안에 안 누르면 매일 새벽 작업에서 자동 확정. "문제 있어요" 접수 → 사장님 의견 → 관리자 판단(정상 이용 / 숙소 사정 / 손님 정보 불일치). 24시간 안에 숙소가 확정하지 않은 예약은 자동 취소
사장님 "숙박 예약" 화면 : 정산 금액·수수료 표시, 문제 접수 답변, 노쇼·숙소 사정 취소, 정산 요약. 관리자 "숙박 예약" 화면(문제 접수·배상금·정산 예정·결제 확인 — 결제대행 연동 전 임시)
숙소 입점 흐름 : 입점 안내 페이지(/partner/lodging — 반려동물 전문·숙소 근처 즐길 거리 강조, 업계 비교 표현 없음), 사장님 입점 신청(숙소 선택·영업신고증·정산 계좌·계약 동의), 관리자 입점 심사(승인하면 그날이 입점일, 공공데이터 숙소는 같이가개 장소로 옮김). 입점 승인된 숙소만 바로 예약
문서 : 숙소 예약 사업 구조안·숙소 입점 계약서 초안(31조 + 별표) 작성, 프로모션을 "입점일부터 3개월"로 수정
테스트 373개 통과
사장님 자동 인증에 업종 확인 추가 : 예전엔 사업자번호·대표자명·개업일자·영업 상태만 봐서 건설업 사업자로 숙소를 신청해도 바로 승인됐음 → 국세청 진위확인에 주종목(b_type)·상호(b_nm)도 함께 대조하고, 확인된 종목이 신청 유형(가게 / 숙소)에 맞을 때만 자동 승인. 안 맞으면 거절하지 않고 관리자 검토로 넘기며 알림에 이유(종목 불일치·업종 안 맞음 등) 표시
띄어쓰기·오타 감안(src/lib/bizTypeCheck.ts) : 국세청은 글자가 정확히 같아야 일치라서, 입력 그대로·띄어쓰기 뺀 것·한두 글자 다른 표준 종목명(예: 숙밥업 → 숙박업)·법인 표기를 바꾼 상호를 후보로 만들어 차례로 물어봄. 국세청이 일치라고 답한 값만 인정해 건설업이 숙박업으로 바뀌어 통과할 수는 없음
지도 업장 연결 보강 : 고른 업장 이름을 직접 적은 가게 이름이 아니라 "국세청에서 확인된 상호"와 비교(한두 글자 오타 허용) — 아무 사업자로 인증받고 남의 가게를 가져가는 것을 막음
사장님 가입·전환 화면에 상호·종목 입력칸 추가, 사업자등록증 OCR이 상호·종목도 읽어 채움. 테스트 추가(bizTypeCheck 10개, OCR 3개 갱신 — 전체 384개 통과)
숙소 전용 화면(/stay/번호) : 입점 숙소는 숙소 탭에서 누르면 장소 상세(친화도 점수 등) 대신 숙박 앱 같은 화면 — 사진·이름·별점·객실·동반 조건·숙박 후기·위치(근처 동반 장소·길찾기·전화)와 아래 "1박 ○원~ 객실 선택" 띠. 예약도 덮는 창이 아니라 예약 화면(/stay/번호/book)에서
숙박 후기(별점) : 같이가개에서 예약하고 체크아웃한 손님만, 전체·청결·친절·반려동물 편의 별점과 글. 평균·별점별 개수 요약. 사장님 답글(사장님 센터 "후기·답글"), 사장님 신고 → 관리자 "숙박 예약 → 후기 신고"에서 유지·가리기·삭제와 작성자 후기 제한(제재)
예약 화면 보강 : 인원 +/− 기호 가운데 정렬, 반려동물은 이름 대신 숙소가 받는 동물(강아지·고양이·그 외 동물)만 고르기(사장님이 "그 외 동물"과 종류를 정함), 맹견 5종은 전화 문의 후 예약하라는 필수 안내(숙소 화면·예약 화면)
예약자 정보 : 다른 숙박 예약 앱처럼 예약자 이름·휴대전화(필수)·이메일(선택), 실제 이용자(예약자와 다르면 필수), 방문 수단(필수)·도착 예정 시각, 필수 동의 4개(이용 규칙·취소 환불 / 개인정보 수집·이용 / 숙소에 제공 / 만 14세 이상)와 동의 기록 저장. 사장님 예약 화면에 이용자·방문 정보 표시
맹견 법 확인 : 동물보호법상 맹견 출입 금지 장소(어린이집·유치원·초등학교·특수학교·노인·장애인복지시설·어린이공원·어린이놀이시설)에 숙박업소는 없음 → "법으로 금지"가 아니라 "전화 문의 후 예약" 안내로
숙소 탭·숙소 화면 너비를 다른 화면처럼 최대 1000px로 넓히고 넓은 화면에서 양옆 광고·입양공고 칸(StayFrame)
[2026.10.29]
오늘 한 일
숙박 요금 세분화(사장님이 "숙소·객실"에서 직접 설정) : 기준 인원 초과 1명당 추가 요금(기존), 반려동물 추가 요금을 소형견·중형견·대형견·고양이·그 외 동물별로 따로(비우면 기본 요금), 객실 요일별 요금(일~토 — 손님 적은 요일은 낮게, 많은 요일은 높게, 날짜별 요금이 가장 먼저)
부가 옵션 : 바비큐·불멍·추가 침구·조식·얼리 체크인 등(직접 만들기 가능), 요금·단위(1회·1박마다·1인당)·최대 수량·안내. 손님이 예약할 때 수량을 골라 함께 결제, 숙소 화면에 옵션 목록, 사장님 예약 화면에 옵션 금액 표시. 금액은 서버가 사장님 설정으로 다시 계산
예약 화면 반려동물 : 숙소가 안 받는 크기(대형견 등)는 크기 버튼·견종 목록에서 아예 빠짐, 강아지·고양이를 누르면 견종·묘종 고르기(말티푸·폼피츠·포메푸 등 강아지 37종, 고양이 13종 + 직접 입력), 견종을 고르면 크기 자동 선택, 마리마다 1박 추가 요금 표시(src/lib/petBreeds.ts)
배너 광고 노출 순서 개편 : 숙소는 그 지역을 자주 검색한 사람 → 무작위, 일반 가게는 그 동네에서 GPS를 자주 켠 사람 → 그 지역을 자주 검색한 사람 → 무작위. "자주" = GPS는 서로 다른 날 2번 이상, 검색은 같은 지역(5km) 2번 이상. 기록은 손님 기기에만 두고 광고 고를 때만 보냄(src/lib/gpsAreas.ts, interestRegions.ts 횟수 추가)
"우리 지역" 표현 정리 : 동네 대표 요금제 소개·배너 기본 문구·광고 제휴 안내의 지역 한정 문구를 새 노출 구조에 맞게 고침
요금제 자동 연장 : 이용 기간 14일 안·미결정이면 사장님 센터 팝업("기한이 끝나면 자동으로 연장하여 이용하시겠습니까?" — 요금제·1/3/6/12개월), 광고 상품 메뉴에 자동 연장 설정 칸. 매일 새벽 만료 7일 전 미결정 알림, 자동 연장이면 만료 3일 전 연장 신청 자동 접수 + 입금 안내(결제대행 연동 전이라 결제는 입금 확인 후 승인). 신청 로직을 직접 신청과 같은 함수로 합침(src/lib/server/premiumRequest.ts)
상세 성과 보고서 : 화면은 간단한 숫자 그대로, "상세 보고서 인쇄 · PDF 저장"을 누르면 A4 보고서 — 표지, 요약(핵심 지표·주요 성과), 기간 비교(11개 지표), 유료 이용 효과(무료 이용 기간 30일 환산 대비 / 같은 업종 무료 업체 평균 대비 — 업체 이름 비공개), 고객 여정(전환율), 일별·요일별 그래프, 고객 반응, 자동 개선 제안, 집계 기준(/api/owner/report, src/lib/ownerReport.ts)
SQL 실행 완료 : lodging-fees-extras.sql, premium-auto-renew.sql. 테스트 410개 통과
지도 리스트 패널 개편 : 프리미엄 장소를 작은 가로 띠 대신 일반 장소와 같은 크기의 카드로 맨 위에, 사진 왼쪽 위 "광고" 뱃지(아래 목록에서는 중복 제외), 패널·카드 디자인 정리(큰 사진·미색 배경·떠오르는 카드)
지도 숫자 오류 수정 : 넓게 볼 때 숫자는 서버 구역 집계를 쓰는데 "숙소" 기준이 없어 전체 장소 수가 떴음 → 숙소를 고르면 전국 숙소 목록의 실제 위치로 직접 세어 숙소가 있는 곳만 그 수로 표시
숙소 탭 : 권역을 누르면 세부 지역(시·군, 숙소 많은 순·개수, "강원도"/"강원특별자치도" 합침), 검색·지역·조건 줄을 위에 고정
쇼핑 탭 : 숙소 탭과 같은 틀(StayFrame — 양옆 광고·입양공고 칸, 둥근 머리 칸 안 검색, 넓은 화면 두 줄)
숙소 공지 : 숙소 화면 위쪽 "숙소 소식"(대표·최근 3개), 공지만 모아 보는 창(목록 → 읽기 → 이전·다음), 지도 상세 창에서 숙소 공지를 누르면 숙소 화면에서 그 공지가 열림
"내 경로에 추가" 창이 장소 상세 창 틀에 갇혀 아래가 잘리던 문제 — 화면 전체 기준으로 띄우고 휴대폰 홈 바 여백
마이페이지 내 레벨을 초록색 프로필 칸 안으로(넓은 화면 한 줄, 휴대폰은 아래로 꽉 차게)
지도 우측 상단 도구 막대 개편 : 무지개색 그라데이션 아이콘 5개 → 흰 막대 하나에 아이콘+이름(새 장소·추천·코스 | 사장님), 열린 기능만 초록, 제보하기는 진한 버튼. 좁은 화면은 아이콘만, 휴대폰 메뉴 버튼·메뉴 아이콘도 한 톤, 코스 창 보라 → 서비스 초록
광고(프리미엄) 카드에는 TOP·NEW·HOT 뱃지를 달지 않음(광고가 끝나면 다시 붙음)
중복 예약 방지(달력 연동, src/lib/ical.ts) : 객실마다 다른 예약 사이트(에어비앤비·부킹닷컴 등) 달력 주소를 넣으면 그쪽에서 팔린 날을 자동으로 막음(매일 새벽 + 손님 예약 직전 30분 지났으면 다시), 같이가개 예약·막은 날은 달력 주소로 내보내기(날짜만)
손님 알림 : 마이페이지 알림함 + 탭바 "마이페이지" 빨간 숫자 + 알림을 켠 기기로 전송 — 예약 확정·거절·숙소 사정 취소·자동 취소, 체크인 전날 안내, 체크아웃 후 후기 요청, 환불 보냄
마이페이지 "내 숙박 예약"에 숙박 후기 쓰기 버튼(체크아웃 날부터, 이미 남겼으면 표시)
객실 사진 필수 : 판매 중으로 켜려면 사진 2장 이상(판매 중지는 사진 없이 저장 가능)
관리자 숙박 화면 : "입점 영업"(전화번호 있는 미입점 숙소, 검색·상태별 보기, 전화 걸기, 연락 상태·메모·마지막 연락일), "환불 처리"(결제 후 취소된 예약의 환불 보냄 표시·처리자 기록·손님 알림)
[2026.11.01]
오늘 한 일
서비스 이름을 펫츠로드로 변경 : 화면 문구, 앱 이름, 공유 카드, 임시 로고(public/icons/petsroad_lockup.png)
색상 변경 : 베이지와 초록 계열을 없애고 코코아·캐러멜과 따뜻한 연회색으로 통일, 일반 가입창을 사장님 가입창 색으로 통일, 화면 머리말을 아래쪽이 둥근 모양으로 통일
지도 : 산책 코스 옵션 접기와 패널 세로 확대, 코스 순번을 이름표 위로 이동, 코스·공원 안내 추가, 보고 있는 지도 영역에서 코스 만들기, 숙소 근처 보기 마커 하나로 정리, 이전 화면으로 돌아가는 버튼
숙소 예약 : 규정·수칙 기본 펼침, 맹견 안내 줄바꿈, 가게명·전화번호·전화 버튼 한 줄 표시
쇼핑 : 빈 목록이 계속 나오던 오류 수정(/api/store/list 미리 만들기 해제, 숙소 목록도 동일), 가게 화면(/shop/번호) 신설, 지역·분류 묶기, 주문자 정보 자동 사용, 포장·매장 식사 사장님 설정, 가게 공지 표시
말하듯이 검색(src/lib/talkSearch.ts)과 해시태그 5개 설정 : 쇼핑·숙소 공통, 메뉴 이름은 해시태그 없이 검색
사장님 센터 탭바·지도 보기 제거, 왼쪽 맨 아래 메인으로 돌아가기, 관리자 화면을 같은 구성으로 개편, 마이페이지 정리, 광고 제휴에 슈나우저 추가
개업일자 달력 입력, 배너 문구 줄바꿈, 지도 외 화면 푸터 추가(src/components/SiteFooter.tsx의 PageFooter)
첫 방문 소개 카드에 데모 버전 안내, 오류 화면 개편
쇼핑 화면 재구성 : 배민처럼 분류 아이콘, 시·도 전체 탭, 가게 한 행 목록, 대표 사진·메뉴/정보/후기 탭, 메뉴 담기 창, 주문 막대와 주문 창
쇼핑 넓은 화면 활용 : 레일이 없는 폭에서는 창 전체를 쓰고, 가게 화면은 사진·정보를 나란히, 메뉴는 두 줄로 표시
포장 주문은 당일만 : 시간 입력을 오늘 시각만 고르게 바꾸고 서버에서도 한국 시간 기준으로 확인(매장 식사는 14일 유지)
가게 화면 위쪽에 주문 시간·영업시간·휴무일·주차·안내·공지 표시, 사장님이 정하는 포장 주문 가능 시간 추가(시간 밖이면 주문 막음)
사장님 오늘 주문 마감 버튼 : 재고 소진·급한 휴무 때 오늘 주문만 닫고 다음 날 자동으로 다시 받음(src/components/owner/OwnerTodayClose.tsx)
플랫폼 조사 후 입력 구조 추가 : 상품 알레르기 재료·옵션·사료 성분등록번호, 가게 소개·알레르기 공통 안내·원산지·준비 시간·최소 주문·사업자 정보, 손님의 피할 재료 표시
객실 카드 가독성 개선(평일·주말 요금 줄 나눔, 시설 칩, 사진 높이 통일)
가게 찜, 다시 주문하기, 가게 쿠폰, 쇼핑 후기 사진, 요일별 주문 시간 추가
숙소 탭 재구성 : 쇼핑과 같은 머리말·지역 탭, 바로 예약과 전체 숙소를 모서리가 둥근 카드로 분리, 객실 카드 크기 축소
서비스 소개·광고 제휴·입점 안내 화면에서 하단 탭바 숨김, 메인 로고 아래 문구 변경, 공원 마커를 원래 초록 색으로 복구
로고 색 변경 : 핀은 캐러멜, 글자는 코코아, 앱 아이콘·파비콘·알림 아이콘·공유 이미지·안드로이드 앱 이미지의 베이지 바탕을 흰색으로
관광공사 수치 점검 : 목록 9,657곳 - 문화시설과 겹침 166곳 - 음식점과 겹침 5곳 - 관광공사 안의 중복 4곳 = 알림의 관광 9,482곳으로 차이 전부 확인, 관광 상세 9,657곳 모두 수집 완료
새벽 작업 확인 : 10월 21일~11월 1일 백업이 매일 생성, 지도 목록·비교 기록도 11월 1일 새벽 갱신
겹치는 장소의 관광공사 정보가 버려지던 문제 수정(src/lib/publicDataDedupe.ts) : 사진이 안 나오던 올림픽공원·한림공원 등 166곳의 빈칸을 관광공사 사진·전화·영업시간으로 채움(배포 후 첫 새벽 작업부터 반영)
오늘 못한 일
로그인이 필요한 화면 직접 확인 : 사장님 설정 저장, 실제 주문, 마이페이지, 관리자 실제 화면
장소 상세, 글쓰기 화면의 푸터
정식 로고 제작(지금은 글자를 입힌 임시 로고), 펫츠로드 상표 확인
로고 글꼴 확정(시안 8가지 전달, G마켓 산스 추천, 로고 사용 조건 확인 필요)
안드로이드 앱 다시 빌드(새 이름·아이콘 반영)
공원 주간 갱신 실행 여부 확인(11월 1일 새벽 카카오톡 알림의 공원 줄)
내일 할 일
겹치는 장소에 관광공사 사진이 채워졌는지 확인
부족한 영업 정보 보완 방법 결정
쇼핑 수수료율과 요금제 충돌 결정 반영
[2026.10.31]
오늘 한 일
새로 생긴 곳·취향 추천·산책 코스 패널 개편 : 메인 목록과 같은 머리줄·카드 공용 부품(src/components/map/MapPanel.tsx), 코스는 요약·테마·정거장 흐름 구조로, 보라색·베타·AI 문구 제거
숙소 예약 : 끌어서 고르는 견종 선택창(src/components/lodging/WheelPicker.tsx), 나이·성별·중성화·특이사항, 추가 옵션을 해당 없음/이용으로 고르고 이용일마다 옵션은 날짜 선택, 불멍·캠프파이어·침구 등 항목 추가
결제 수단 계좌이체와 현금영수증 신청(scripts/sql/lodging-cash-receipt.sql 실행 완료), 사장님 화면 발급 완료 표시
커뮤니티 : 글 저장·저장한 글 탭, 사용자 차단, 공유, 내 글·댓글 알림, 글쓰기 자동 임시저장(scripts/sql/community-saves-blocks.sql 실행 완료)
취향 추천에서 공원·동물병원·동물약국 제외, 산책 중심 코스를 동네 한 바퀴로(공원과 카페를 번갈아, 출발지로 돌아오는 길 포함), 카페·동물병원·동물약국·주변 장소를 한 줄 켜고 끄기로
숙소 예약 화면 개편 : 서비스 소개와 같은 짙은 초록 머리·단계 표시·카드 구성, 넓은 화면은 오른쪽에 금액 고정. 숙소 화면 색을 파랑에서 짙은 초록으로 통일. 주문·예약 내역과 결제 결과 화면에도 양옆 레일 적용
오류 화면 개편 : 여기어때·당근·노션·에어비앤비의 오류 화면을 참고해 흰 바탕에 왼쪽 위 로고, 슈나우저 그림, 제목·안내 한 줄·다시 시도 버튼으로 단순화, 지도로 돌아가기 링크 추가(src/components/ErrorScreen.tsx)
첫 방문 소개 카드 첫 장에 데모 버전 안내 추가 : 장소 정보 빈 곳, 공공데이터에 없는 사진, 입점 가게 없음, 결제 시스템 구축 중을 명시(src/components/WelcomeIntro.tsx)
서비스 전체 베이지·크림색 제거 : 바탕과 테두리의 베이지 계열 78가지 색을 무채색 연회색으로 교체(앱 설정 포함, 경고용 노랑·주황과 금색, 강아지 그림은 유지)
오늘 못한 일
로그인이 필요한 화면 직접 확인 : 글 저장·차단·댓글 알림, 사장님 화면의 현금영수증·특이사항 표시, 실제 예약 제출과 결제
현금영수증 발급 명의와 토스 자동 발급 설정 확정(세무사·토스 확인 필요, 지금은 숙소 발급 기준)
입점 계약서 본문에 규정 위반 처리 반영, 변호사 검토
동네 인증, 동네 행사 게시판, 투표, 1:1 채팅(추가 여부 결정 필요)
내일 할 일
쇼핑 수수료율과 요금제 충돌 결정 반영
토스 테스트 키로 결제·환불 전체 확인
[2026.10.30]
오늘 한 일
출시 전 법·사업 체크리스트 문서(docs/launch-legal-checklist.md, 저장소에는 올리지 않고 PC에만 보관) : 사업자 등록·상표·결제대행(PG)·통신판매업·위치기반서비스·약관·호스팅·알림톡·세금계산서·채널 매니저·출시 직전 정리
숙소 입점 안내(/partner/lodging) 개편 : 서비스 소개 화면 같은 틀(고정 머리말·큰 첫 화면·혜택·진행 절차·입점 조건·자주 묻는 질문), "입점 신청하기"를 누르면 사장님 가입·전환 화면이 숙소로 골라진 채 열림
사장님 센터(/owner) 개편 : 네이버 스마트플레이스처럼 위 고정 막대(로고·사장님 센터 뱃지·가게 이름·인증 표시·지도 보기) + 넓은 화면 왼쪽 묶음 메뉴(홈 / 숙박 운영·예약 판매 / 손님 소통 / 숙소·가게 관리 / 광고·성과, 대기 예약·답글 없는 후기 빨간 숫자) + 화면마다 제목·한 줄 설명. 휴대폰은 옆으로 미는 메뉴. 주황 머리말 → 서비스 색
가입 화면 공통 틀(src/components/brand/JoinLayout.tsx) : 넓은 화면 왼쪽 브랜드 칸(이용할 수 있는 서비스) + 오른쪽 입력 카드, 오른쪽 위 닫기(이전 화면으로), 화면 이름 뱃지
회원가입(/signup)도 같은 틀로 — 지도 위 작은 팝업 대신 전체 화면, 왼쪽에 동반 장소 지도·동반 숙소 예약·산책 코스·찜/후기/입양 공고 안내, "이미 계정이 있으신가요? 로그인"
사장님 가입·전환(/signup-owner) : 같은 틀, "가입비·광고비 없이 무료로 시작"을 제목 바로 아래 뱃지로, 아래에 "일반 회원으로 가입하기" 버튼, 표시는 "사장님"으로 통일
가입 화면 색 : 진한 초록 대신 회원가입은 오트밀 + 머스터드, 사장님 가입은 웜그레이 + 슈나우저 회색(시안 7가지 중 선택, 주변 평가용)
같이가개 슈나우저 그림(src/components/brand/SchnauzerPeek.tsx) : 로고 얼굴 구성(눈썹·눈·코·수염) 그대로 슈나우저 얼굴형·반쯤 접힌 귀, 회색 큰 강아지·작은 강아지 두 마리가 입력 카드 위로 내다봄
커뮤니티 공지 게시판 : "공지" 게시판(관리자만 쓰기 — DB에서도 막음, scripts/sql/community-notices.sql 실행 완료), 전체 게시판 맨 위에 최근 공지 3개 고정
메인(지도) 화면 제목 아래 공지 한 줄 : 최근 공지 제목, 누르면 그 공지 글로, 닫으면 그 공지는 다시 안 뜸(새 공지는 다시 보임)
레벨 안내 : 공지 본문에 [[레벨 안내]]라고 쓰면 레벨 안내 화면(6단계·점수 받는 법·지도 기여·방문 유지)이 그 자리에 그려짐 — 규칙 파일을 그대로 읽어서 규칙을 바꾸면 공지도 자동으로 맞춰짐
마이페이지 레벨 : 위쪽에는 "내 레벨 + 단계 배지"만, 점수·방문·단계 안내는 설정 창 "내 레벨·점수"에서
문구 정리 : '묵다' 표현을 모두 "숙박하는·머무는·동반 숙소"로 바꿈
로그인 창 → 회원가입으로 갈 때 로그인 팝업이 위에 남던 문제 수정(가입 화면은 새로 열고, 가입 화면의 닫기는 로그인 전 화면으로)
로그인 창 새 디자인 : 회원가입과 같은 오트밀 색, 슈나우저 두 마리, 스크롤 없이 한 화면, 로그인 상태 유지(끄면 브라우저를 닫을 때 로그아웃), 비밀번호 보기, 오류를 창 안에 표시, 최근 로그인 방법 표시, 아래에 이메일 회원가입·사장님 가입 버튼
비밀번호 찾기 : 가입 이메일로 재설정 메일 보내기(카카오 가입·미가입 이메일은 안내), 메일 링크 → /reset-password에서 새 비밀번호 저장
아이디 찾기 : 이름 + 휴대폰 번호가 둘 다 맞으면 가입 이메일(일부 가림)과 가입 방법(이메일·카카오·구글) 안내(/api/auth/find-id)
이름·휴대폰 번호 수집(아이디 찾기 전용) : 본인만 읽고 쓰는 별도 표(user_contacts, scripts/sql/user-contacts.sql 실행 완료). 이메일 가입은 가입 화면에서, 간편가입·사장님·기존 회원은 로그인 후 한 번 묻기(나중에 = 3일 뒤 다시). 개인정보 처리방침에 항목·목적 추가
버튼 공통 효과 : 마우스를 올리면 떠오르며 그림자 상자가 생기던 효과를 빼고, 누를 때 살짝 작아지는 것만 남김
회원 표(users) 읽기·쓰기 범위 정리(scripts/sql/users-security.sql 실행 완료) : 누구나 모든 회원의 이메일·연락처를 읽고 남의 줄을 고칠 수 있던 것을 본인 줄·관리자만으로 제한(비회원 줄은 그대로), 다른 회원의 닉네임·프로필 사진은 공개용 창(public_profiles)으로만. 권한 칸(관리자 여부·인증 상태)은 기존 protect-privileged-columns.sql이 이미 막고 있었고, 계정 연결·연결된 가게·고정 닉네임 보호를 더함. 일반 회원·관리자·비로그인 역할로 DB에서 시험(되돌림) 완료
공고 사진 실패 처리 : 사진을 끝내 못 받으면 깨진 그림 표시 대신 발자국 그림으로 대체
공고 상세 사진 : 끝내 받지 못한 사진이 깨진 그림으로 남던 문제 수정 — 화면이 준비되기 전에 실패한 사진도 잡아내 넘겨 보는 목록에서 제외
AI 코스 저장 취소 : 저장한 뒤 "저장 취소"와 "마이페이지에서 확인하기" 버튼을 나란히 표시(잘못 눌렀을 때 바로 되돌리기)
회원 레벨 규칙 : 6단계(꼬물이·냄새 수집가·거리 수색대·산책대장·발도장 수집가·명예 순찰대)와 점수 규칙 정의(memberLevel.ts) — 제보 승인 +50 등 기여 중심, 글·댓글은 하루 상한
레벨 유지 규칙 : 높은 단계일수록 한 달 방문 일수가 더 필요(2·4·8·12·16일), 못 채우면 매달 한 단계씩만 내려가고 다시 채우면 바로 복귀, 상위 두 단계는 지도 기여 누적 3회·10회 필요(사진 후기 3건 = 1회)
오늘 못한 일
앱 알림 실기기 확인 : 앱을 설치해 알림을 켠 뒤 실제로 뜨는지는 직접 확인 필요
앱 실기기 확인 : 폰에 설치해 주소창 없이 뜨는지, 로그인·위치가 되는지는 직접 확인 필요
식품안전나라 새 음식점 448곳 : 좌표 변환용 브이월드 인증키(VWORLD_API_KEY)가 없어 추가 대기 중
프리미엄 혜택 실제 적용 : 결제·배너 노출 기능이 없어 할인·배너는 기록만 됨, 혜택 저장은 premium-perks.sql 실행 필요
서울 등 밀집 지역 데이터량 : 30km 안에 1만 2천 곳(압축 381KB)이라 여전히 큼 — 지도 화면 범위만 받는 방식은 추가 작업 필요
글꼴 정리 : 줄일 수 있는 양이 적고 글자 모양이 바뀌어 보류
회원 레벨 화면 연결 : 규칙만 정한 상태 — 방문 기록용 DB 표, 마이페이지 표시, 닉네임 배지는 미구현
공고 사진 첫 요청 : 처음 보는 사진은 정부 서버에서 받아 오는 동안 여전히 느림(두 번째부터 빠름) — 미리 받아 두기는 미구현
회원 활동 정지·재가입 차단 : DB 칸 추가가 필요해 미구현(지금은 강제 탈퇴만 가능)
관광공사 운영계정 : 아직 "신청" 상태(승인 대기), 하루 약 1,000곳씩만 수집 중
내일 할 일
새벽 알림 확인 : 새벽 4시쯤 "새벽 자동 작업 완료" 카카오톡·폰 알림이 오는지
채널 알림톡 검토 : 사업자등록 이후 사장님 대상 성과 보고서·결제 안내용으로 검토
내일 할 일
이름 넣은 로고 : 추천받은 글꼴 번호로 스토어 대표 이미지·로딩 화면용 로고 제작
회원 레벨 : 방문 기록 표 → 마이페이지 레벨 표시 → 닉네임 배지 → 회원 관리 탭 순서로 연결
노출 횟수 균등 배분 : 후보가 여러 곳이면 "지금까지 가장 적게 나간 가게"부터(같으면 무작위) 내보내고 횟수를 올림(DB 함수 pick_banners) — 같은 후보끼리 1번 넘게 벌어지지 않음. 관리자 화면에 가게별 노출 횟수 표시
관심 지역 기억(src/lib/interestRegions.ts) : 검색으로 찾아간 곳·열어 본 장소의 위치를 약 1km 단위로 기기에만 최근 8곳·30일 보관, 서버에는 저장하지 않음. 개인정보 처리방침에 해당 내용과 예약·알림·배너·문의 수집 항목 추가
광고·제휴 안내 화면(/partnership) : 사이트 아래에 "광고·제휴 문의" 링크, 안내와 문의 양식(종류·이름·회사·연락처·내용, 동의 확인, 1시간 3건 제한·자동 입력 차단). 들어오면 관리자에게 카카오톡·앱 알림, 관리자 "광고·제휴 문의" 탭에서 확인·처리 완료·메모(답변 후 1년 지나면 삭제)
사장님 화면의 배너 만들기를 요금제 화면에서 떼어 "배너 광고" 메뉴로 분리 : 배너 광고를 내는 가게(동네 대표 요금제 · 관리자가 켜 준 배너 혜택)에만 메뉴가 보임
배너에 주소 표시 : 가게 이름 오른쪽에 시·도를 뺀 짧은 주소(예: 달서구 공원순환로 36)
상품 올리기를 배달 앱처럼 자세히 : 사진, 분류(예시에서 고르거나 직접 입력), 용량·크기, 한 줄 설명, 자세한 정보(재료·소재, 알레르기, 원산지·제조, 주의사항·보관 — 접었다 펴는 칸), 대표 상품, 품절(보이지만 예약 불가), 순서 바꾸기(↑↓). 이름·가격만 필수이고 나머지는 선택(장난감·용품은 비워 둠)
손님 화면의 상품 칸 : 사진, 대표·품절 표시, 대표 상품 먼저·분류별 묶음, "재료·알레르기…"를 누르면 자세한 정보 펼침. 품절 상품은 서버에서도 예약을 막음
사장님 사진 올리기 공통 코드(src/lib/server/ownerImage.ts) : 배너·상품 사진이 같은 확인(파일 내용으로 종류 확인, 5MB, 그 가게가 올린 사진만 저장)을 거침
광고·제휴 문의함 정리 : 목록에는 한 줄 요약만, 누르면 전체 내용·연락처가 펼쳐짐. 처리 상태를 접수·협의 필요·진행 중·완료·반려 5단계로 나누고 상태별로 걸러 보기, 문의마다 관리자 메모 칸(2,000자, 따로 저장)
광고·제휴 안내 화면을 서비스 소개처럼 새로 : 첫 화면 → 누가 보나요 → 할 수 있는 것 3가지(동네 배너 · 사료·간식·용품 브랜드 협업 · 기관 제휴) → 배너가 나가는 방식 → 진행 순서 → 사장님 요금제 → 광고 원칙 → 자주 묻는 질문 → 문의 양식. 문구를 "함께 다니는 장소"에 한정하지 않고 브랜드 협업까지 담음
관리자 탭 줄 : 탭이 13개로 늘어 뒤쪽이 가려지던 것 — PC에서는 폭을 넓히고 모자라면 다음 줄로 넘겨 전부 보이게(휴대폰은 예전처럼 옆으로 밀기)
휴대폰 상단바 색을 초록에서 흰색으로(웹 앱 정보 + 안드로이드 앱 0.1.5)
광고·제휴 안내 화면 용어·가독성 정리 : 풀어 쓴 말을 업무 용어로(할 수 있는 것 → 광고·제휴 상품, 누가 보나요 → 이용자 특성, 노출 방식 → 집행 방식, 진행 순서 → 진행 절차, 지키는 것 → 광고 운영 정책), 양식도 담당자명·회사명·문의 유형·연락처로. 말투는 합니다체, 긴 문장은 줄을 나눠 표시. 다른 화면으로 나가는 링크(서비스 소개 등)는 정리
사장님 화면 폭 확대 : 760px → 1040px, 메뉴가 많아도(배너 광고 포함 8개) PC에서는 다음 줄로 넘겨 전부 보이게
쇼핑 탭 추가(/shop) : 아래 탭바에 "쇼핑" — 프리미엄 스토어 이상 가게의 상품을 가까운 순으로 모아 보고, 가게를 펼치면 그 자리에서 예약 포장(장소 상세와 같은 예약 칸). 가게·상품 이름 검색과 분류 고르기, 상품이 없을 때 안내
사장님 안내 문구 : 상품·예약 화면과 요금제 설명에 "올린 상품은 쇼핑 탭에 진열되고 손님이 직접 예약 주문을 넣는다"는 안내와 쇼핑 탭 바로 가기 추가
오늘 못한 일
상품·예약을 실제로 넣어 보는 확인 : Supabase에서 scripts/sql/owner-store.sql을 실행해야 켜짐(그 전에는 "준비하고 있어요" 안내만 나오고 손님 화면에는 아무것도 안 보임)
알림·알림음을 실제 휴대폰에서 확인 : 새 앱(0.1.4) 설치 뒤 사장님 계정으로 알림을 켜고 예약을 넣어 봐야 함. 멍멍 소리는 합성음이라 직접 들어 보고 마음에 안 들면 교체. 브라우저(크롬)에서 켠 기기는 기기 기본 알림음으로 울림(브라우저가 소리를 정함)
관리자 프리미엄 화면은 가짜 자료로 모양만 확인 : 로그인 상태에서 실제 기간 조절·요금제 변경은 확인 필요
지역 이름이 앞에 붙은 공원("시흥 갯골생태공원" ↔ "갯골생태공원")은 이름이 달라 중복으로 잡지 못함
결제 연동 : 지금은 예약만 받고 결제는 가게에서
문의 5단계 상태 켜기 : Supabase에서 scripts/sql/partner-inquiries-status.sql 실행 필요(그 전에는 접수·완료만 저장됨)
자세한 상품 정보 켜기 : Supabase에서 scripts/sql/owner-products-detail.sql 실행 필요(그 전에는 이름·설명·가격만 올릴 수 있음)
배너 기능 실제 확인 : Supabase에서 scripts/sql/banner-ads.sql 실행 필요(그 전에는 "준비하고 있어요" 안내, 노출은 무작위 고르기로 동작). 배너 만들기·관리 화면은 가짜 자료로 모양만 확인
배너 내용 사전 검수 : 저장하면 바로 나가고, 문제가 있으면 관리자가 내리는 방식(올리기 전 승인은 없음)
내일 할 일
owner-store.sql 실행 뒤 상품 등록 → 예약 → 확정 → 수령까지 한 번 따라가 보기
테스트로 프리미엄 처리해 둔 가게(뽀얌) 원래대로 돌리기
확대·축소 버벅임 원인 더 찾기
지도 상세 창의 "예약하러 가기" : 입점 숙소는 "숙소 예약하러 가기"(숙소 화면), 쇼핑 입점 가게는 "상품 보고 예약하러 가기"(쇼핑 탭에서 그 가게를 펼쳐 보여 줌)
사장님 공지 : 네이버 플레이스 "알림"처럼 친화도 점수 바로 아래에 대표·최신 공지 한 줄, 누르면 지난 공지까지 모두. 사장님 센터 "공지" 탭에서 쓰기·고치기·대표 고정·지우기(지운 공지도 기록은 남김)
사장님 인증 표시 : 인증된 사장님이 연결된 가게는 이름 아래 "사장님 인증 · 사장님이 직접 관리하는 가게 정보예요"
탭바 알림 숫자 : 카카오톡처럼 흰 테두리 빨간 원(99+). 확인 대기 예약·숙박 문제 접수에 더해 답글 없는 최근 후기(장소·숙박)까지 셈(/api/owner/alerts)
관리자 "유입 경로" 탭(/admin/traffic) : 통계 분석 맨 아래에 묻혀 있던 채널별 유입·재방문·회원 전환과 홍보 링크 만들기를 따로 꺼냄
실제 DB에 데모 숙소 "스테이원향"(입점·프리미엄·객실 2개)을 올려 손님 화면 확인
SQL 실행 완료 : lodging-reviews.sql, place-notices.sql, lodging-guest-review-reports.sql. 테스트 399개 통과
오늘 못한 일
Supabase SQL 실행 : scripts/sql/lodging-settlement.sql, lodging-partners.sql, my-routes.sql(실행 전에는 정산·입점 심사가 꺼져 있고 모든 숙소가 예약 가능 상태로 유지)
로그인 화면 직접 확인 : 입점 신청·관리자 심사·숙박 예약 처리
카드 결제 : 사업자 등록 후 결제대행(PG) 연동 필요
숙소 프리미엄 가격(99,000원 제안) 확정
업종 확인 실제 동작 : 진짜 사업자 정보로만 확인할 수 있어 배포 후 실제 신청으로 확인 필요
로그인이 필요한 새 화면 직접 확인 : 예약 화면(이용자 정보·동의), 후기 쓰기·답글·신고, 사장님 공지, 관리자 후기 신고·유입 경로
데모 숙소 "스테이원향" 지우기(실제 영업 중인 숙소라 확인 끝나면 바로)
개인정보 동의 문구(보유 기간 등) 법률 검토
마이페이지 "내 숙박 예약"에 후기 쓰기 버튼, 공지 사진 첨부, 관리자 쪽 소식(승인·반려 결과)의 알림 숫자
내일 할 일
관리자 입점 영업 리스트(전화번호 있는 공공데이터 숙소, 연락 상태·메모)
마이페이지에서 숙박 후기 쓰기 연결
전체 화면 디자인 다듬기
SQL 실행 완료 : lodging-operations.sql. 테스트 415개 통과
오늘 못한 일
로그인 화면 직접 확인 : 사장님 요금·옵션·요일별 요금 설정, 예약 화면 견종·옵션 선택, 자동 연장 팝업, 상세 보고서 실제 인쇄
자동 결제 : 결제대행(PG) 연동 후 자동 연장을 자동 결제로 전환
데모 숙소 "스테이원향" 등 임의로 넣은 데이터는 출시 직전에 한 번에 정리(사용자 요청)
로그인 화면 직접 확인 : 달력 연동, 알림함, 관리자 입점 영업·환불 처리
지도 화면 디자인 시안(이모지 → 선 아이콘, 이름 변경, 줄 카드 리스트) 적용은 확인 후 진행
내일 할 일
관리자 입점 영업 리스트(전화번호 있는 공공데이터 숙소, 연락 상태·메모)
마이페이지에서 숙박 후기 쓰기 연결
전체 화면 디자인 다듬기
숙소 탭 "전체 지역"(전국·시도별 숙소 수), 숙소 화면의 "지도에서 근처 동반 장소 보기"를 누르면 그 숙소를 가운데 두고 지도 이동(이름표 표시, GPS가 끌고 가지 않음)
예약 화면 : 견종·묘종을 드롭다운 대신 바로 보이는 목록·검색으로(슈나우저 3종 추가), 달력 이전·다음 달 화살표 가운데 정렬
추가 요금 전부 온라인 결제 : 고르는 동안 객실·인원·반려동물·옵션 합계를 바로 표시, "기본 포함 마릿수" 칸 추가(둘째부터 요금 등), 안내 문구에 적은 금액은 결제되지 않는다고 사장님 화면에 안내, 입점 조건에 현장 추가 요금 금지, 손님 문제 접수에 "현장에서 추가 요금 요구" 추가
중복 예약 막기 보강(scripts/sql/lodging-holds-stamps.sql 실행 완료) : 같은 객실·날짜의 진행 중 예약을 DB에서 차단(동시 예약도 한 건만), 확인 대기도 24시간 날짜 잡아 둠, 달력 연동은 달력을 열 때 5분마다·예약 버튼 때 항상 새로 받기, 다른 사이트와 겹치면 사장님·관리자 알림, 달력 연동 안 한 객실은 그쪽도 막아 달라고 안내
추억 스탬프 : 장소 300m 안에서 "다녀왔어요"로 인증(위치는 저장 안 함, 같은 곳 30일에 1번, 하루 5개), 저장 코스 모든 장소 완주·숙박 완료 시 추가 지급, 마이페이지 스탬프 모음·코스 진행, 숙소 예약 때 할인(1개 100원·10%까지, 같이가개 부담, 취소하면 반환 — 금액은 임시값)
지도 화면 시안 적용 : 필터 이모지 → 선 아이콘, 새로 생긴 곳·취향 추천·산책 코스로 이름 정리, 목록을 작은 사진 + 글 줄 카드로, 코스 창 이름 "산책 코스 추천"
사장님 가입창 색 : 크림 + 로고 브라운(주변 평가로 고른 A안), 가입 버튼만 검정
공지 표시 통일 : 운영진 공지·사장님 공지 모두 "공지" 표시, 작성자 옆에 레벨 대신 "운영진"/"사장님"
사장님 닉네임 고정 해제 : 닉네임은 자유, 인증된 사장님은 닉네임 옆에 "가게명 사장님" 배지(누르면 가게 화면) — 글·댓글·후기·답글·마이페이지. 닉네임에 사장님·운영진·관리자·같이가개는 금지(사칭 방지, DB에서도 막음)
레벨 안내 공지 등록(공지 글 12번)
글자 대비 정리 : 연한 글자색을 앱 전체에서 진하게(87개 파일), 입력칸 안내 글자, 비활성 버튼의 흰 글자를 진한 글자로
테스트 422개 통과
쇼핑 입점 상담(/partner/store, scripts/sql/store-partners.sql 실행 완료) : 가입한 사장님이면 누구나 신청, 포장 주문·매장 식사 중 받을 방식 선택, 관리자 "쇼핑 입점" 탭에서 상담·승인·반려. 승인하면 쇼핑 탭과 장소 상세에 열림
장소 상세 쇼핑 안내 : 입점 가게는 메뉴 보고 주문하기, 입점 전 카페·식당·간식·용품 가게는 사장님 입점 상담 안내. 공원·병원·약국·미용·숙소는 표시 안 함(src/lib/storeCategories.ts)
매장 식사 예약 : 포장과 함께 인원·방문 시간을 받아 주문
선결제(토스페이먼츠, scripts/sql/payments.sql 실행 완료) : 숙소·쇼핑 공통. 결제 대기로 만들고 결제창 → 승인까지 끝나야 사장님에게 전달. 금액 서버 검증, 20분 안에 결제 안 하면 정리. 키(TOSS_SECRET_KEY, NEXT_PUBLIC_TOSS_CLIENT_KEY)를 넣어야 켜짐
자동 환불 : 숙소는 기존 취소 규정 금액대로, 쇼핑은 전액. 실패하면 관리자에게 알리고 다시 시도 가능
주문·예약 내역(/orders) : 숙소·쇼핑 탭, 결제 수단·영수증·환불 금액, 결제 이어 하기, 취소, 후기, 다시 주문. 마이페이지에서 진입
쇼핑 취소 구조 : 가게 확정 전 바로 취소, 확정 뒤 취소 요청 → 사장님 승인 시 환불, 노쇼 처리. 12시간 미확인 자동 취소, 약속 시간 24시간 뒤 자동 이용 완료
쇼핑 후기 : 이용 완료한 주문만 30일 안에 작성, 장소 화면에 표시, 사장님 답글·신고, 관리자 가리기
관리자 "쇼핑 주문" 탭 : 결제·환불 상태, 환불 재시도, 신고 후기 처리, 정산 대상 금액 합계
추억 스탬프 기능 끄기(STAMPS_ENABLED = false), 전체 수익 구조 메모 작성(docs, 저장소에 올리지 않음)
로그의 공공데이터 인증키 가리기(src/lib/redact.ts) : 요청 실패 메시지에 들어 있던 serviceKey를 빌드·실행 로그에서 ***로 표시
지도 목록 패널 : 가로 240px → 300px, "실내외 모두 가능"이 한 줄로 나오게, 주소는 시·도와 시를 뗀 짧은 주소로(src/lib/shortAddress.ts, 마우스를 올리면 전체 주소)
게시글 화면 수정 : 긴 글이 잘리고 스크롤이 안 되던 문제 해결(칸 높이를 화면에 고정), 본문 폭을 680px에서 목록과 같은 1000px로 넓혀 양옆 레일과 간격을 맞춤
온보딩 새로 만듦 : 첫 소개에서 목적(장소 찾기·동반 숙소·포장/매장 식사·사장님)을 고르면 그에 맞는 소개와 지도 안내가 나오고 마지막 버튼이 해당 화면으로 연결. 숙소·쇼핑·주문 내역·사장님 센터 안내 추가, 지도 안내를 15단계에서 목적별 4~7단계로 줄임, 그림의 이모지 제거. 저장 이름을 모두 바꿔 이전에 본 사람에게도 다시 표시
지도 마커 아이콘 통일(src/components/PlaceIcon.tsx) : 마커·목록·미리보기·코스 카드의 이모지를 위쪽 필터와 같은 선 아이콘으로 변경
숙소 지역 분류 : 커뮤니티 지역 게시판과 같은 16개 지역·같은 순서로 통일(묶음이던 서울·인천, 부산·경남, 대구·경북, 충청, 전라를 나눔)
쇼핑 입점 안내(/partner/store) 개편 : 서비스 소개·숙소 입점 안내와 같은 구성(고정 머리말, 큰 첫 화면, 입점 혜택 4가지, 진행 절차, 입점 조건, 자주 묻는 질문, 상담 신청, 마지막 띠)
산책 코스·취향 추천 패널 복구 : 지도 화면 시안 적용(870b20f) 때 패널 코드 238줄이 함께 지워져 산책 코스 창이 뜨지 않고 취향 추천 목록이 사라졌던 문제 수정, 재발 방지 테스트 추가
숙소 입실 체크리스트(scripts/sql/lodging-pet-requirements.sql 실행 완료) : 접종 증명·동물등록·중성화·나이·체고·맹견·공격성, 혼자 두기·침대·침구·매너벨트, 리드줄·이동장·식음 공간, 파손 배상을 사장님이 고르면 숙소 화면에 표시하고 손님이 예약 때 항목마다 확인(기록 저장)
숙소 지역·세부 지역·조건 줄에 가로 스크롤 막대 표시
위치 권한이 없어도 산책 코스가 지도 중심 기준으로 나오게 수정
숙소 규정 준수 동의 : 예약 창에서 조건별 확인과 수칙·위반 시 조치를 접지 않고 보여 준 뒤 별도 체크(약관법 제3조), 동의 문구·시각 기록. 전액 환불 불가·정액 벌금 없이 실제 손해 기준(제6·8·9조)
손님 규정 위반 접수 : 사장님 접수 → 정산 보류 → 손님 알림·이의 제기 → 관리자 판단. 파손·오염은 체크아웃 후 14일 안에
위약금 없는 취소를 소비자분쟁해결기준 개정(2024.12.27)에 맞게 "예약 당일"에서 "계약 후 24시간 이내, 이용일 0시 전까지"로 수정
오늘 못한 일
로그인 화면 직접 확인 : 사장님 센터 새 메뉴, 마이페이지 레벨·설정 화면, 공지 띠
실제 결제 : 결제대행(PG) 계약 전이라 금액은 모두 계산되지만 돈이 오가지는 않음
추억 스탬프 전체 꺼 둠(STAMPS_ENABLED=false — 받기·모아 보기·예약 할인 모두), 스탬프 7개 할인·포장 입점·선결제 구조는 대표 검토 중이라 보류