リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Nominatim으로 실제 등록된 장소를 검색하고 OSRM으로 자동차 도로 거리를 계산하는 한국어 웹앱입니다. Redis, 데이터베이스, API 키, 환경변수가 필요하지 않습니다. 브라우저에서 외부 API를 직접 호출하는 정적 웹앱입니다.
public은 자동 생성되므로 올릴 필요가 없습니다.vercel.json이 Build Command npm run build, Output Directory public을 설정합니다. 환경변수는 비워둡니다.런타임 패키지가 없으며 설치할 외부 npm 의존성도 없습니다. Node.js 22 이상으로 빌드할 수 있습니다. Vercel은 빌드 시 Node를 제공합니다.
출발지와 도착지 각각 검색 버튼(또는 Enter)을 누르고 결과 목록에서 장소를 선택합니다. 거리 계산하기를 누르면 총거리와 지도에서 보기 링크가 나타납니다. 링크는 선택한 좌표가 들어간 OpenStreetMap 자동차 길찾기를 새 탭에서 엽니다.
자동차 경로 조회 실패 시 직선거리로 명확히 구분해 표시합니다. 이때 지도 링크는 두 위치 주변을 보여줍니다. 도로 거리는 도로망에 연결된 지점 기준이며 실시간 교통, 통행료, 실제 운전 시간은 반영하지 않습니다. Nominatim에 등록되지 않은 장소는 검색되지 않을 수 있고, 검색 결과는 실재 여부를 별도로 인증하는 자료가 아닙니다.
npm run build
npm test
빌드된 public/ 폴더를 정적 HTTP 서버로 제공합니다. 예를 들어 Python이 설치되어 있으면 python -m http.server 3000 --directory public으로 실행한 다음 http://localhost:3000을 엽니다. 파일을 직접 더블클릭하는 file:// 실행은 ES 모듈·설정 파일 요청 때문에 지원하지 않습니다.
수동 확인: 검색 및 장소 선택, 검색 결과 없음, 선택 후 입력 수정 시 이전 결과 초기화, 출발/도착 교환, 같은 장소의 0 km, 네트워크 장애의 직선거리 대체, 지도 링크, 좁은 화면 및 키보드 조작.
Nominatim 공개 서버 정책은 전체 앱의 모든 사용자 요청 합계에 초당 최대 1회를 적용합니다. 자동완성은 금지됩니다. 이 앱은 명시적 검색만 실행하며 검색 결과를 브라우저에 최대 7일 캐시합니다. 가능한 브라우저에서는 Web Locks와 로컬 저장소를 사용해 동일 브라우저의 탭 간 요청을 직렬화하고 1.1초 간격을 둡니다. Referer로 배포 도메인을 전달하고 OSM 출처를 표시합니다.
서로 다른 사용자/기기 사이의 전역 호출 제한은 이 정적 구조에서 보장할 수 없습니다. Redis나 공유 저장소 없는 공개 Nominatim 구성은 소수 사용자의 저빈도 이용에만 적합합니다. 다수 사용자가 동시에 검색하는 운영 서비스로 확대하기 전에는 공급자를 전환하거나 전역 제한이 가능한 프록시를 마련해야 합니다. Vercel 함수 메모리만으로도 여러 인스턴스의 전역 제한을 보장할 수 없습니다.
서비스 주소는 services.json에서 관리합니다. 호환되는 다른 Nominatim 검색 서버로 전환할 때 앱 JS를 수정할 필요 없이 이 설정을 변경해 배포할 수 있습니다. 브라우저는 설정을 재검증하며 새 요청에 반영합니다. 대체 서버는 HTTPS 및 CORS를 지원해야 합니다.
OSRM 공개 서버 역시 무료 외부 서비스이므로 가용성이나 국내 도로 데이터 완전성을 보장하지 않습니다. 상용·대량 사용 전에는 OSRM 서버 이용 범위를 확인하고 적합한 서버로 services.json의 routing을 변경하세요. URL 끝의 /를 유지하세요.
검색어와 사용자 IP는 Nominatim에, 좌표와 IP는 OSRM에 전달됩니다. 민감한 개인정보는 입력하지 마세요. 브라우저의 사이트 데이터를 삭제하면 로컬 검색 캐시도 삭제됩니다. 사용료·가입이 필요한 지도 라이브러리나 타일 서비스는 포함하지 않았습니다.
데이터: © OpenStreetMap contributors / ODbL. 거리 계산: OSRM.