낚시 포인트 2,072개를 지도에 깔끔하게 | DanFish 지역 클러스터 출시기, 1인 개발 일지
👋 오늘의 개발 근황
안녕하세요, 혼자서 이것저것 만들고 있는 1인 개발자 단감입니다. 이번 주는 낚시 지도 서비스 DanFish 에 꽤 오래 매달려 온 기능 하나를 드디어 운영 서버에 올렸습니다. 바로 전국 낚시 포인트를 지역 단위로 묶어서 보여주는 '클러스터' 기능입니다.
말로 하면 한 줄인데, 데이터 정리부터 지도 화면까지 손볼 곳이 줄줄이 이어져서 몇 단계로 쪼개 진행했던 작업입니다. 이번 주에 그 마지막 단계가 끝났습니다.
🎯 이 프로젝트는 무엇인가
DanFish(단낚시)는 전국의 낚시 포인트를 지도에서 한눈에 찾아볼 수 있는 웹 서비스입니다. 어디서 무슨 어종이 잡히는지, 이번 달 제철 어종은 무엇인지 같은 정보를 모아서 보여줍니다. 낚시를 처음 시작하는 분이 '이번 주말에 어디로 가지?'를 정할 때 쓰라고 만들었습니다.
현재 지도에 올라가 있는 낚시 포인트는 2,072개입니다. 문제는 이 점들을 지도에 전부 그대로 뿌리면 화면이 점으로 뒤덮여서 오히려 아무것도 안 보인다는 것이었습니다.
🛠️ 이번 주 뭐가 바뀌었나
그래서 이번에 들어간 것이 지역 단위 클러스터입니다. 바뀐 점을 정리하면 이렇습니다.
- 지도를 멀리서 보면 포인트가 시·도 단위로 묶여서 숫자와 함께 표시됩니다. 부산 93개, 경남 90개, 충남 94개 같은 식입니다.
- 묶음을 클릭하면 지도가 확대되면서 시·군·구 단위로 다시 쪼개집니다. 부산을 누르면 기장군 90개, 해운대구 91개처럼 더 좁은 동네 단위로 보입니다.
- 포인트마다 붙는 주소 라벨도 정리했습니다. 바닷가나 섬처럼 주소가 애매한 지점이 많았는데, 좌표를 행정구역으로 풀어주는 작업을 보강해서 신안군 같은 섬 많은 동네도 제대로 묶입니다.
- 검색도 같이 손봤습니다. 지명을 검색하면 카카오 지도의 장소 검색과 연동해서 해당 지역으로 바로 이동합니다.
화면 뒤쪽에서는 수집 데이터와 서비스 데이터 사이의 권한 정리라는 지루한 작업도 있었습니다. 사용자 눈에는 안 보이지만, 이게 안 되어 있으면 지역 정보가 화면까지 전달이 안 되는 구조여서 이번에 확실히 매듭을 지었습니다.
📸 화면으로 보는 변화
지금 DanFish 첫 화면입니다. 전국 지도 위에 시·도 단위 묶음이 떠 있고, 원하는 지역을 누르면 점점 좁혀 들어가는 구조입니다. 오른쪽에는 6월 제철 어종도 함께 보입니다.
💭 만들면서 느낀 점
이번 작업에서 제일 크게 배운 건 '걱정하던 충돌은 안 일어나고, 생각도 못 한 곳에서 막힌다'는 것이었습니다. 작업 브랜치를 합칠 때 수백 줄짜리 충돌을 각오하고 있었는데 막상 충돌이 하나도 없었고, 정작 발목을 잡은 건 데이터베이스 권한 문제라 혼자서는 못 풀고 관리자 권한으로 풀어야 했습니다. 혼자 개발하다 보면 이런 순간마다 의논할 사람이 없어서, 과거의 제가 남겨 둔 작업 기록이 유일한 동료입니다. 기록을 꼼꼼히 남기는 습관이 또 한 번 저를 구했습니다.
그래도 운영 반영 후 브라우저에서 부산 클러스터를 눌러 기장군·해운대구로 쪼개지는 걸 처음 봤을 때는 혼자 작게 환호했습니다. 이 맛에 사이드 프로젝트를 합니다.
🔗 직접 써보기
DanFish 는 회원가입 없이도 바로 써볼 수 있습니다. DanFish 바로가기
지도에서 본인 동네를 한번 눌러 보시고, 이상하게 묶이는 지역이나 빠진 포인트가 있으면 알려주세요. 1인 개발이라 느리지만, 피드백은 빠짐없이 작업 목록에 올라갑니다.