Skip to content

wilsontayar/dev-garage

Repository files navigation

Dev Garage

Um lugar pra registrar suas ideias de side project e ir colocando tarefas em cada uma. CRUD simples, dados em memória, feito pra demonstrar o Claude Code ao vivo.

Stack

  • Next.js (App Router) com as rotas de API dentro do próprio projeto
  • React + TypeScript
  • shadcn/ui + Tailwind CSS v4
  • Dados em memória (sem banco): um store em módulo, populado com seed. O estado some quando o processo reinicia.

Pré-requisitos

  • Node 20+
  • pnpm (o projeto usa pnpm, não npm)

Este repositório usa duas proteções de supply-chain no pnpm-workspace.yaml:

  • minimumReleaseAge: 10080 — o pnpm nunca instala uma versão publicada há menos de 7 dias.
  • allowBuilds — build scripts de dependências ficam bloqueados por padrão (o toolchain não precisa de nenhum).

Rodando

pnpm install
pnpm dev        # http://localhost:3000

Outros comandos:

pnpm build      # build de produção
pnpm start      # serve o build
pnpm lint       # eslint
pnpm typecheck  # tsc --noEmit
pnpm format     # prettier

Estrutura

app/
  page.tsx                 # dashboard (lista de projetos)
  projects/[id]/page.tsx   # detalhe do projeto + tarefas
  api/
    projects/              # GET (lista), POST (cria)
    projects/[id]/         # GET, PATCH, DELETE
    projects/[id]/tasks/   # POST (adiciona tarefa)
    tasks/[id]/            # PATCH (marca/edita), DELETE
components/                # UI da aplicação + components/ui (shadcn)
lib/
  types.ts                 # Project, Task e tipos de entrada
  store.ts                 # store em memória + seed
  http.ts                  # validação no boundary da API
  api-client.ts            # wrappers de fetch usados pelo client
  status.ts                # rótulos e ícones de status
  format.ts                # formatação de data

API

Método Rota Descrição
GET /api/projects Lista projetos com contadores de tarefa
POST /api/projects Cria um projeto
GET /api/projects/:id Detalhe do projeto + tarefas
PATCH /api/projects/:id Atualiza um projeto
DELETE /api/projects/:id Remove o projeto e suas tarefas
POST /api/projects/:id/tasks Adiciona uma tarefa
PATCH /api/tasks/:id Marca como feita ou edita o título
DELETE /api/tasks/:id Remove a tarefa

Sem autenticação e sem persistência: é uma base de demonstração.

About

Codebase de exemplo usada para treinamentos de Claude Code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors