Fujimod
브라우저에서 카메라 펌웨어를 시험하고 Fujimod SD 부팅 파일을 만든다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
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