ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
기후·도로별 위험구역 지도와 방송 사고사례로 배우는 군 차량 사고예방 안전운행 교육
Translation pending
EducationTypeScript · CSSGitHub @gizel1004OnlineOwner 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
군 차량 사고예방 상황별 안전운행 교육 (Next.js + Leaflet + Supabase)
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗한블리 등 방송 사례를 기반으로 한 군 차량 사고예방·상황별 안전운행 교육 프로그램입니다. Next.js 14 + Leaflet(OpenStreetMap) + Supabase, Vercel 배포를 전제로 합니다.
/ 위험구역 지도: 기후·도로 유형·위험도 필터, 마커 클릭 시 위험요인·예방수칙·군 차량 유의사항·관련 방송 사례 표시/admin 제보 관리: 관리자 코드로 들어가 승인(위험도 조정 가능)·반려, 제보로 추가된 지점 숨기기/다시 표시/learn 상황별 교육: 기후 5종, 도로 9종, 군 차량 특화 수칙 카드/cases, /cases/[id] 사고 사례 23건 (출처 링크 포함)data/cases.json: 방송 기사·프로그램 소개글에서 확인된 사례. 기사에 없는 항목은 null(화면에 "언급 없음")data/zones.json: 교육용 위험구역(예시 지점). 교육용 근사 위치이며 실제 사고다발지점 통계가 아닙니다. 사례 자체에는 정확한 위치 정보가 거의 없어 사례와 지점은 도로·기후 유형으로 연결했습니다.data/tips.json: 본 사이트가 작성한 일반 안전운행 지침 (감속 비율은 도로교통법 시행규칙 기준)공공데이터포털의 도로교통공단 오픈API 2종을 사용합니다.
| API | 활용신청 페이지 | 엔드포인트 |
|---|---|---|
| 한국도로교통공단_결빙 교통사고 다발지역 | https://www.data.go.kr/data/15058135/openapi.do | https://apis.data.go.kr/B552061/frequentzoneFreezing/getRestFrequentzoneFreezing |
| 한국도로교통공단_지자체별 교통사고 다발지역 | https://www.data.go.kr/data/15057467/openapi.do | https://apis.data.go.kr/B552061/frequentzoneLg/getRestFrequentzoneLg |
.env.local, 배포는 Vercel Environment Variables 에 TAAS_SERVICE_KEY 로 등록 (NEXT_PUBLIC_ 접두사 금지: 키가 브라우저에 노출되지 않도록 /api/taas 서버 라우트가 대신 호출합니다)동작 방식과 주의점
data/sigungu.json (법정동코드 기준, 248개) 입니다. 새 코드 체계에 맞게 바뀐 지역이 있으면 이 파일을 수정하세요.lib/taas.ts 의 extractItems 한 곳만 조정하면 됩니다.npm install
npm run dev # http://localhost:3000
Supabase 환경변수가 없으면 data/*.json 으로 동작합니다.
supabase/schema.sql 실행 → npm run seed:sql 로 supabase/seed.sql 갱신 후 실행.env.local 에 입력 (.env.example 참고)데이터를 추가·수정하려면 Supabase 의 Table Editor 에서 행을 편집하면 5분 내 사이트에 반영됩니다.
git init && git add . && git commit -m "init"
git branch -M main
git remote add origin https://github.com/<계정>/<저장소>.git
git push -u origin main
Vercel 에서 Add New > Project 로 저장소를 가져오고, Environment Variables 에
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY 를 등록한 뒤 Deploy 합니다.
기본값은 OpenStreetMap 공용 타일입니다. 접속량이 많아지면 별도 타일 제공자(MapTiler 등)로
components/LeafletMap.tsx 의 TileLayer url 을 교체하세요.
zone_reports 테이블: 누구나 "대기(pending)" 상태로만 제보를 넣을 수 있고, 읽을 수는 없습니다. 10분에 30건이 넘으면 잠시 막힙니다.admin_* 함수가 관리자 코드를 확인한 뒤에만 실행합니다. 코드는 비공개 스키마에 해시(bcrypt)로만 저장되고, 틀리면 1초 지연됩니다.supabase/reports.sql 주석의 명령을 새 코드로 실행합니다./api/revalidate 가 지도 페이지를 바로 새로 그립니다(실패해도 1분 안에 반영).