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.
Gerenciador de tarefas estilo Kanban
Translation pending
ProductivityTypeScript · CSSGitHub @MatheusC0625OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Gerenciador de tarefas full stack com Kanban, dashboard, checklists, filtros e recursos de IA — desenvolvido para portfólio.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Gerenciador de tarefas estilo Kanban — full stack, com autenticação, banco de dados real, drag & drop e dark mode.Read the full 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: