CleanFrame
삼성 The Frame용 개인 홈 화면, 포크와 맞춤을 위한 시작점
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Nominatim에서 실제 장소를 검색·선택하고, 자동차 도로거리(OSRM) 또는 직선거리(Haversine)를 계산하는 한국어 반응형 웹앱입니다. 총거리 아래 지도에서 보기 링크로 OpenStreetMap을 엽니다. 자동차 모드는 경로 화면, 직선거리 모드는 두 좌표를 포함하는 지도 영역을 엽니다.
Node.js 22 이상만 필요합니다. 설치할 패키지, Redis, 데이터베이스, API 키, 환경변수가 없습니다.
npm run dev
http://localhost:3000 에 접속합니다. HTML 파일을 직접 더블클릭하지 마세요. 정적 HTTP 서버가 필요합니다.
npm test
npm run build
빌드 결과는 dist/입니다. 외부 폰트가 로드되지 않아도 시스템 글꼴로 동작합니다.
dist/, .env, node_modules/는 올리지 않습니다.vercel.json에 Build Command npm run build, Output Directory dist가 지정되어 있습니다. Install Command를 요구하면 npm install을 사용해도 됩니다. 의존성은 없습니다.이 작업에서는 GitHub 업로드와 실제 Vercel 배포를 수행하지 않았습니다.
출발지와 도착지를 각각 입력하고 검색을 누른 뒤, 검색된 목록에서 장소를 선택합니다. 선택한 장소의 전체 주소를 확인하세요. 두 곳을 선택하면 거리 계산 버튼이 활성화됩니다. 장소 입력 또는 계산 기준을 바꾸면 기존 결과가 초기화됩니다. 자동차 경로를 찾지 못하면 오류를 표시하며, 직선거리로 변경해 직접 계산할 수 있습니다.
Nominatim에 등록되지 않은 명칭은 조회되지 않을 수 있습니다. 상세 주소나 지역명을 함께 입력하세요. 도로거리는 자동차 추천 경로의 거리이며 최단거리, 실시간 교통정보, 도보거리를 의미하지 않습니다. 직선거리는 지구를 구로 근사한 두 좌표 사이의 거리입니다. 지도 그림은 설명용 일러스트이며 실제 경로가 아닙니다.
소규모 개인용·시연용 앱입니다. 공용 Nominatim은 앱 전체 합산 초당 최대 1회 요청 제한이 있습니다. 공식 이용 정책을 확인하고 운영자가 준수해야 합니다. 자동완성, 대량 수집, 반복적인 자동 조회를 하지 마세요. 민감한 개인정보를 검색어로 입력하지 마세요.
API 주소는 클라이언트 코드에 고정하지 않고 /config.json에서 실행 시 읽습니다. public/config.json의 nominatimUrl, routingUrl을 수정하여 서비스 제공자를 전환할 수 있습니다. 교체 서비스는 동일한 응답 형식 및 CORS 지원이 필요합니다. 키를 요구하는 서비스를 쓰면 브라우저에 비밀 키를 넣지 말고 별도의 서버 구성을 사용해야 합니다.
검색어와 좌표는 해당 외부 서비스로 전송됩니다. 캐시는 사용자의 브라우저에만 저장되며 브라우저의 사이트 데이터 삭제 기능으로 제거할 수 있습니다. 앱 자체 서버에는 검색 기록을 저장하지 않습니다.
public/index.html, style.css: 접근성 레이블과 모바일 레이아웃을 포함한 화면public/app.js: 검색, 결과 선택, 캐시, 계산, 오류 처리public/distance.js: 거리 공식, 단위 표시, 지도 링크public/config.json: 공개 API 주소scripts/: 정적 빌드 및 로컬 서버test/: 거리 계산 및 지도 URL 검증장소 데이터 © OpenStreetMap contributors, ODbL.