TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Gerenciador de tarefas full stack com Kanban, dashboard, checklists, filtros e recursos de IA — desenvolvido para portfólio.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Gerenciador de tarefas estilo Kanban — full stack, com autenticação, banco de dados real, drag & drop e dark mode.檢視完整 README ↗
Gerenciador de tarefas estilo Kanban — full stack, com autenticação, banco de dados real, drag & drop e dark mode.
| Painel de tarefa | Dashboard |
|---|---|
@prisma/adapter-pg)/api/register, login e redefinição de senhastatus separado (que poderia ficar dessincronizado da coluna), a posição da tarefa no Kanban é a única fonte da verdade. O mesmo critério é reaproveitado no dashboard: uma tarefa conta como concluída quando está na última coluna do projeto.useOptimistic), sem esperar a confirmação do servidor — mas o cálculo da posição real da tarefa sempre usa a lista completa (não filtrada), então buscar/filtrar nunca corrompe a ordenação por trás.Account/Session/VerificationToken.checkRateLimit roda antes das operações custosas (bcrypt, escrita no banco, envio de e-mail) mas não é atômico com elas — sob concorrência real, é aceitável passar 1-2 requisições a mais do limite configurado. Sem o Upstash configurado, os limiters ficam null e a checagem sempre libera, então o app funciona igual sem a variável de ambiente.flowchart TB
Browser["Navegador — Kanban, Dashboard, Templates"]
subgraph Vercel["Vercel"]
direction TB
subgraph Next["Next.js App Router"]
direction LR
SC["Server Components"]
SA["Server Actions<br/>(projetos, colunas, tarefas...)"]
RH["Route Handlers<br/>(/api/register, /api/auth)"]
end
AuthJS["Auth.js<br/>Credentials (JWT) + OAuth"]
end
Prisma["Prisma ORM"]
DB[("Neon PostgreSQL")]
Resend["Resend<br/>(e-mail transacional)"]
GitHubAPI["API REST do GitHub<br/>(metadados de repo + status de CI)"]
Browser -->|RSC / streaming| SC
Browser -->|mutações| SA
Browser -->|cadastro / callback OAuth| RH
RH --> AuthJS
SA --> AuthJS
AuthJS --> Prisma
SC --> Prisma
SA --> Prisma
Prisma --> DB
RH -->|redefinição de senha| Resend
SC -->|selo de linguagem / CI do repo vinculado| GitHubAPI
Fluxo de deploy próprio do projeto (não confundir com a integração acima, que é a feature de mostrar o status de CI de um repositório vinculado a um projeto): cada push na branch principal roda lint, typecheck e testes (Vitest + Playwright) via GitHub Actions, e a Vercel faz o build e o deploy automaticamente quando o CI passa.
Suba o banco de dados com Docker:
docker compose up -d
Copie o arquivo de variáveis de ambiente:
cp .env.example .env
Gere um valor para AUTH_SECRET e substitua no .env:
openssl rand -base64 32
Instale as dependências:
npm install
Gere o Prisma Client e aplique as migrations no banco:
npx prisma generate
npx prisma migrate deploy
Rode o servidor de desenvolvimento:
npm run dev
Abra http://localhost:3000.
src/
├─ app/
│ ├─ (app)/ # área autenticada (dashboard, projetos, board)
│ ├─ login/ register/ # autenticação
│ └─ api/ # rotas do NextAuth e de registro
├─ lib/
│ ├─ actions/ # Server Actions (projetos, colunas, tarefas, subtarefas, etiquetas)
│ └─ validations/ # schemas Zod
├─ components/ # componentes de UI compartilhados
├─ auth.ts / auth.config.ts # configuração do NextAuth
└─ generated/prisma/ # Prisma Client gerado (não versionado)
prisma/
├─ schema.prisma
└─ migrations/
Ideias que ficaram de fora do escopo atual (projeto de portfólio, sem usuários reais no momento):
SECURITY.md para detalhes do que já foi corrigido e do que ficou documentado como próximo passo.Este projeto passou por um diagnóstico de segurança (auditoria de código + testes
dinâmicos contra a aplicação rodando). Achados, correções aplicadas e o que ficou
documentado como risco aceito estão em SECURITY.md.
O TaskForge foi construído puramente com IA — do primeiro commit ao deploy, nenhuma linha de código foi escrita manualmente. O objetivo não é "ter ajuda de IA pra programar", e sim demonstrar domínio de verdade sobre como conduzir ferramentas de IA num fluxo de desenvolvimento completo: arquitetura, decisões técnicas, revisão de segurança, testes automatizados e deploy — tudo via prompt, não via teclado.
Ferramentas usadas e o papel de cada uma: