WallpaperMachine
The wallpapers you love. A new home on your Mac.
시간대별로 경주에서 붐비는 곳을 보고, 피해서 걷는 길을 찾아요.
Translation pending
LifestyleJavaScript · CSSGitHub @pilgrim2412OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
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 ↗시간대별로 경주에서 붐비는 곳을 보여주고, 그곳을 피해서 가는 길(걸어서·버스·차)을 찾아주는 웹사이트.
| 위치 | 내용 | 자주 고치는 곳 |
|---|---|---|
data/zones.js | 혼잡 구역(위치·반경·평소 혼잡도) | ✅ 감으로 넣은 혼잡도 수정 |
data/attractions.js | 주요 관광지(체류시간·꼭 볼 것·링크) | ✅ 현지인 팁 추가 |
data/places.js | 경주시 관광지 158곳 목록 (권역·주소·전화) | 새 목록 받을 때 |
data/closures.js | 마라톤·대회 도로 통제 일정 | ✅ 일정 생길 때마다 추가 |
data/seasonality.js | 월별 계절 배율 (데이터랩 CSV) | 새 CSV 받을 때 |
data/holidays.js | 공휴일 | 1년에 한 번 |
lib/ | 혼잡도 계산·거리 계산·날짜 | 거의 안 고침 |
api/ | 서버 함수 (키는 여기서만 씀) | 거의 안 고침 |
index.html, style.css, app.js | 화면 | 디자인 바꿀 때 |
| 이름 | 어디서 | 없으면 |
|---|---|---|
KAKAO_JS_KEY | 카카오 개발자 콘솔 → 앱 → 플랫폼 키 → JavaScript 키 | 지도가 안 나옴 |
KAKAO_REST_KEY | 카카오 개발자 콘솔 → 앱 → 플랫폼 키 → REST API 키 | 버스 경로 안 됨 |
GRAPHHOPPER_API_KEY | GraphHopper 대시보드 → API Keys | 걸어서·차 경로 안 됨 |
DATA_GO_KR_SERVICE_KEY | 공공데이터포털 → 일반 인증키(Decoding) | 혼잡 예측·버스 실시간 도착 없이 동작 |
ITS_API_KEY | 국가교통정보센터(ITS) 오픈데이터 → 인증키 신청현황 | 실시간 도로 속도·돌발상황 없이 동작 |
공공데이터포털에서 활용신청이 필요한 데이터: 관광지 집중률 방문자 추이 예측, 국토교통부_(TAGO)버스도착정보, 국토교통부(TAGO)_버스정류소정보 (모두 같은 인증키).
ITS는 국내 IP에서 온 요청에만 답해서, 서버 함수를 서울(icn1)에서 돌리도록 vercel.json에 적어 뒀어요.
ITS 월 호출 한도(서비스마다 3,000건)를 넘지 않게 돌발상황은 30분, 도로 속도는 15분 동안 같은 결과를 다시 써요 (최대 하루 48건 / 96건).
카카오 콘솔의 JavaScript SDK 도메인에 Vercel 주소(예: https://gyeongju-hansangil.vercel.app)를 꼭 추가하세요.
점수 = 평소 혼잡도(구역·요일·시간대) × 계절 배율(월) × 그날 예측 배율
api/route.js의 CROWD_COST, MAX_EXTRA_MIN).lib/transit.js).
api/events.js, api/speeds.js, lib/its.js)data/closures.js는 그대로 쓸 수 있어요 (ITS에 안 올라오는 행사용).street_name)와 맞춰요. 시간을 '지금'으로 두고 차 길을 찾을 때만 써요.
/api/speeds를 열면 지금 잡히는 도로 목록이 보여요.경로를 찾은 뒤 이 길로 안내 시작을 누르면 GPS로 내 위치를 따라가며 다음 안내(예: "120m 후 왼쪽으로")를 지도 위에 보여줘요 (lib/nav.js).
경로에서 벗어나면(걸어서 45m, 차 70m, 버스 120m) 다시 찾기로 지금 위치에서 다시 계산하고 안내를 이어가요.
경로에서 2km 넘게 떨어져 있거나 위치 권한이 없으면 미리보기로 단계별로 넘겨볼 수 있어요.
음성 안내는 브라우저 음성(한국어)으로 켜고 끌 수 있어요.
휴대폰에서는 지도가 화면 전체에 깔리고, 메뉴는 아래에서 끌어올리는 시트예요. 손잡이를 끌거나 눌러서 작게·반·크게로 바꿔요. 안내를 시작하거나 '지도에서'로 고를 때는 자동으로 작게 내려가요.
지도 아무 데나 누르면 주소·혼잡도와 여기서 출발 / 여기로 도착 팝업이 떠요.
사이트 주소 뒤에 ?draw를 붙여 열면(/?draw) 지도를 눌러 꼭짓점을 찍고 좌표를 복사할 수 있어요.
data/zones.js에서 그 구역의 polygon: [ ... ], 부분을 통째로 지우고 붙여넣으세요.
api/arrivals.js)relay/ncp-its-relay.cjs, Vercel 환경변수 ITS_RELAY_URL, ITS_RELAY_TOKENNode.js가 설치돼 있으면 설치할 패키지 없이 바로 돼요.
cp .env.example .env.local # 키 채우기
node dev-server.js # → http://localhost:3000