TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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: