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: