TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A single-page dashboard over Google Tasks and Google Calendar. Without a signed-in
Google account it runs in demo mode against local sample data.
Google API access tokens last an hour, and a browser-only app cannot renew one
without either a popup or a user gesture — Google removed the silent iframe
flow. So the OAuth exchange happens server-side instead:README 전문 보기 ↗A single-page dashboard over Google Tasks and Google Calendar. Without a signed-in Google account it runs in demo mode against local sample data.
Originally exported from AI Studio: https://ai.studio/apps/35469fc6-e9fb-44b3-92b7-9958aa8bb99f
Google API access tokens last an hour, and a browser-only app cannot renew one without either a popup or a user gesture — Google removed the silent iframe flow. So the OAuth exchange happens server-side instead:
/api/auth/login sends the user to Google's consent screen./api/auth/callback trades the code for a refresh token, checks the account
against ALLOWED_EMAILS, and stores the refresh token inside an encrypted,
HttpOnly session cookie. There is no database./api/token turns that cookie into a fresh access token. The page calls it on
load and again whenever a Google request comes back 401./api/logout clears the cookie.The browser never holds a long-lived credential, and the session survives reloads, restarts and other devices.
In production Vercel serves everything under api/ as serverless functions. In
development the same files run inside Vite through the dev-api plugin in
vite.config.ts, so there is one implementation of each
endpoint rather than two.
In the project you want to own this app:
Enable the Google Calendar API and the Google Tasks API.
Configure the OAuth consent screen and publish it to production. While it is in testing, refresh tokens expire after 7 days and you will be signed out every week. An unverified published app shows a warning screen on first consent, which you can accept for personal use.
Create an OAuth client of type Web application and add these authorized redirect URIs:
http://localhost:3000/api/auth/callbackhttps://<your-app>.vercel.app/api/auth/callbackA desktop-type client will not work — it has no redirect URI for the web.
Copy .env.example to .env and fill in all four values. Set the
same four in Vercel under Project Settings → Environment Variables.
ALLOWED_EMAILS is the access control for the whole deployment. The dashboard
sits on a public URL, so an empty list lets nobody in — that is deliberate.
npm install
npm run dev # http://localhost:3000
The port is pinned with --strictPort. If Vite fell back to another port the
redirect URI would no longer match and sign-in would break.
Changing .env needs a dev server restart; it is read once at startup.
| Command | Does |
|---|---|
npm run dev | Vite dev server plus the API endpoints on port 3000 |
npm run build | Production build into dist/ |
npm run lint | tsc --noEmit |
npm run check | Session cookie sealing self-check |