TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Driving lesson notes app for iPhone: dictate, tidy with Claude or ChatGPT, keep every student's notes on your phone.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A home-screen app for driving instructors at Key Skills Driving School. Talk through what happened in a lesson and get a professional lesson breakdown (a bare "Covered today" list, then a personal message in the instructor's voice about how it went, then "Focus for next lesson", with no title or date line) that's one tap to copy and send.README 전문 보기 ↗A home-screen app for driving instructors at Key Skills Driving School (called KSDS Lesson Breakdown until v3.12): lesson breakdowns, the review card, practice routes and test routes. Talk through what happened in a lesson and get a professional lesson breakdown (a bare "Covered today" list, then a personal message in the instructor's voice about how it went, then "Focus for next lesson", with no title or date line) that's one tap to copy and send.
claude-opus-5 with adaptive thinking at low effort and server-side fallbacks, dropping either if the chosen model rejects them. Without a key, it copies a ready-made prompt to paste into the ChatGPT or Claude app.worker/)A Cloudflare Worker (ksds-lessons) plus a D1 database holds the school's Gemini key and the list of approved phones, so staff never need a key. It also fetches practice routes for approved phones, with the school's OpenRouteService key (only coordinates are sent), and keeps the school's test routes (test_routes table): approved phones list them, admins add and delete them, and GET /shared/<id> returns one to anyone holding its random 12-character link. Each keeps its turn-by-turn list for Drive mode, checked with cleanGuide from docs/drive.js (the server imports it, so that file must not touch the page when it loads). Each phone makes up an id and secret token; the server keeps only a hash. The first phone to tap Become the admin claims the school and becomes its one master admin; after that only admins can approve, remove or promote phones, or change the school key (which is never sent back to a phone). The master admin can't be removed or demoted by anyone, and only they can pass the role on (Make master admin on the Phones screen, behind a tick box and a confirmation). Wipe App is refused on the master admin's phone until the role has been passed on. The server builds the prompt itself (it imports docs/ai.js), only answers the app's own origin, allows 200 breakdowns per phone per day, and keeps no lesson text or logs.
Notifications use Web Push (@block65/webcrypto-web-push): the VAPID public key is in wrangler.toml and docs/app.js, the private key is the VAPID_PRIVATE_KEY secret. Deploy with npx wrangler deploy from worker/. For local testing, wrangler dev on port 8787 (the app switches to it automatically on localhost) needs http://localhost:8787 temporarily added to the connect-src list in docs/index.html.
Opening the link on a phone shows a walkthrough until the app is installed. iPhone: Share → Add to Home Screen (Apple offers no shorter route), shown as a looping animation of the three taps plus a browser-specific hint about where Share lives. Android: an Install button that triggers the browser's own install prompt, with menu instructions as the fallback for browsers that don't offer one. Use the installed app on iPhone, not the Safari tab: iOS keeps their storage separate. On Android the two share storage.
Plain HTML/CSS/JS with no build step. The site lives in docs/.
On every release, bump VERSION in docs/app.js and CACHE in docs/sw.js together, or installed phones keep the old files.
docs/vendor/qrcode.js is qrcode-generator 2.0.4 (MIT).
docs/vendor/maplibre/ is MapLibre GL JS 6.14.0 (BSD-3-Clause, license file alongside).
The Routes tab never asks a map server for spots. They're prepared ahead of time from OpenStreetMap (© OpenStreetMap contributors, ODbL) for the school's area, Phoenix and Tempe down to Sun Lakes and over to Queen Creek:
python -I tools/route-spots/fetch.py # downloads the area from the Overpass API (slow; skips cells it already has)
python -I tools/route-spots/build.py # writes docs/route-spots/*.json
Then release as usual. Drive mode (docs/drive.js, map helpers in docs/geo.js) needs no outside service beyond the map tiles: GPS and the voice (speechSynthesis) are the phone's own. Road routes come from OpenRouteService through the school
server, which keeps the key as the ORS_KEY secret (npx wrangler secret put ORS_KEY from worker/). The free key
allows 200 route requests a day for the whole school; one build uses up to 4. Map tiles are
OpenFreeMap's free "dark" style.