TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A self-hosted task and project manager — Kanban board and table view, built to cover work,
school, side projects and daily life in one place instead of three apps.
Single maintainer, running in production, actively built. If you want to know where it is
going, ROADMAP.md is honest about what exists and what does not.README 전문 보기 ↗A self-hosted task and project manager — Kanban board and table view, built to cover work, school, side projects and daily life in one place instead of three apps.
Single maintainer, running in production, actively built. If you want to know where it is going, ROADMAP.md is honest about what exists and what does not.
Not there yet: recurring tasks, reminders, a calendar view, comments, search, notifications. Those are Phases 3–5 of the roadmap.
One deployable unit — the backend serves the built frontend, so there is no separate frontend host.
| Backend | ASP.NET Core 10 minimal API, EF Core, SQLite |
| Frontend | React 19, TypeScript, Vite, TanStack Router/Query/Table, Tailwind v4, shadcn/ui |
| Tooling | Biome (not ESLint/Prettier), bun, xUnit |
| Deploy | Docker image on GHCR, Dokploy + Traefik on a VPS |
SQLite is a deliberate choice, not a placeholder: a single-user-to-small-team self-hosted app has no need for a second container to babysit, and it makes the whole app one file to back up.
The image is built by CI and published to GHCR, so nothing is compiled on the host.
curl -O https://raw.githubusercontent.com/LinkNexus/blitz-task/main/docker-compose.yml
# set the required variables below, then:
docker compose up -d
The app listens on port 8080 inside the container and expects a reverse proxy in front of it for TLS.
| Variable | Required | Notes |
|---|---|---|
RESEND_API_KEY | yes | Email delivery. Read directly from the environment, not from a config section. |
Resend__FromEmail | yes | Must be a domain verified in Resend. |
Resend__FromName | no | Defaults to BlitzTask. |
App__SupportEmail | no | Address shown in email footers. Unset means the line is omitted. |
App__BaseUrl | yes | Public origin, e.g. https://tasks.example.com. Emailed links are built from it, and reminders are sent by a background job with no request to infer it from. |
ConnectionStrings__DefaultConnection | no | Defaults to Data Source=Data/blitz-task.db. |
__ is ASP.NET's separator for nested configuration, so Resend__FromEmail sets the
FromEmail key of the Resend section. The compose file declares the required ones with
:?, so a misconfigured deploy fails loudly instead of starting half-broken — which matters,
because email is not optional here: account confirmation gates almost every endpoint, so
without working mail nobody can get past registration.
Three paths hold everything, and the compose file puts the first two on named volumes:
Data/blitz-task.db — the database.Uploads/ — attachments and project images.Data/DataProtection-Keys/ — the key ring that signs auth cookies and CSRF tokens. Losing
it does not lose data, but it logs every user out and invalidates their antiforgery tokens
on every redeploy.Migrations are applied automatically on startup, so upgrading is a pull and a restart.
Requires .NET 10 SDK and bun.
# backend — http://localhost:5121
dotnet run --project server/BlitzTask.Backend
# frontend — http://localhost:5173, proxies /api to the backend
cd web && bun install && bun run dev
Email in development goes to SMTP on localhost:1025 rather than Resend, so run a catcher
such as Mailpit — without one, registration cannot complete.
dotnet test server/BlitzTask.Backend.Tests # backend
cd web && bun test # frontend
bunx biome check . # lint + format, repo root
The API client is generated, and the build order matters. web/src/api/** is gitignored
and produced by @hey-api/openapi-ts from an OpenAPI document that the backend build
emits. Change a C# endpoint and the chain is:
dotnet build server/BlitzTask.Backend # rewrites BlitzTask.Backend.json
cd web && bun run api:gen # rewrites src/api/**
Typecheck with tsc -b, never tsc --noEmit. web/tsconfig.json is solution-style with
"files": [], so --noEmit compiles nothing and cheerfully exits 0 on a broken app. And
tsc -b needs a build first, because the route tree (src/routeTree.gen.ts) is gitignored
and emitted by the router's Vite plugin — on a fresh clone, run bun run build before
typechecking or you get ~22 phantom errors.
Contributors: run git config core.hooksPath .githooks once. It refuses commits on main,
staying out of the way during merges and rebases.
CLAUDE.md documents the architecture and the non-obvious constraints in more depth — it is written for AI agents but is the most accurate description of how the code fits together.