# Plano de Desenvolvimento - Sistema de Chamados ## Meta imediata Construir o nucleo de tickets compartilhado entre web e desktop (Tauri), garantindo base solida para canais, SLAs e automacoes futuras. ## Fase A - Fundamentos da plataforma 1. **Scaffold e DX** - Criar projeto Next.js (App Router) com Typescript, ESLint, Tailwind, shadcn/ui. - Configurar alias de paths, lint/prettier opinativo. - Ajustar `globals.css` para tokens de cor/tipografia conforme layout base. 2. **Design system inicial** - Importar componentes `dashboard-01` e `sidebar-01` via shadcn. - Ajustar paleta (tons de cinza + destaque primario) e tipografia (Inter/Manrope). - Implementar layout shell (sidebar + header) reutilizavel. 3. **Autenticacao placeholder** - Configurar stub de sessao/Auth.js (mock) para navegacao protegida. ### Status da fase - OK Scaffold Next.js + Tailwind + shadcn/ui criado em `web/`. - OK Layout base atualizado (sidebar, header, cards, grafico) com identidade da aplicacao. - TODO Auth placeholder pendente (prevista apos modelagem do dominio). ## Fase B - Nucleo de tickets 1. **Modelagem compartilhada** - Definir esquema Prisma para Ticket, TicketEvent, User (minimo), Queue/View. - Publicar Zod schemas/Types para uso no frontend. 2. **Fluxo principal** - Pagina `tickets` com tabela (TanStack) suportando filtros basicos. - Pagina de ticket com timeline de eventos/comentarios (dados mockados). - Implementar modo play preliminar (simula proxima tarefa da fila). 3. **Mutations** - Formulario de criacao/edicao com validacao. - Comentarios publico/privado (UX + componentes). ### Status parcial - OK `prisma/schema.prisma` criado com entidades centrais (User, Team, Ticket, Comment, Event, SLA). - OK Schemas Zod e mocks compartilhados em `src/lib/schemas` e `src/lib/mocks`. - OK Paginas `/tickets`, `/tickets/[id]` e `/play` prontas com componentes dedicados (filtros, tabela, timeline, modo play). - TODO Mutations reais + integracao com backend (aguardando Auth e persistencia real). ## Fase C - Servicos complementares (posterior) - SLAs (BullMQ + Redis), notificacoes, ingest de e-mail, portal cliente, etc. ## Backlog imediato - [x] Scaffold Next.js + Tailwind + shadcn/ui. - [x] Ajustar layout shell (dashboard + sidebar) com tema solicitado. - [x] Criar modulos base de dominio (schemas Prisma/Zod) ainda com dados mockados. - [x] Preparar estrutura de paginas: `/tickets`, `/tickets/[id]`, `/play`. - [ ] Implementar Auth placeholder (Auth.js mock) para rotas protegidas. - [ ] Conectar APIs/mutations reais (server actions/trpc) e sincronizar com Prisma. ## Proximas entregas sugeridas 1. Finalizar Auth placeholder e guardas de rota (Auth.js + middleware). 2. Implementar camada de dados real (Prisma Client + server actions) para tickets. 3. Adicionar formularios de criacao/edicao de ticket com validacao (React Hook Form + Zod). 4. Conectar timeline/comentarios a mutations otimizadas (UI otimista + websockets futuro). 5. Preparar testes basicos (unit + e2e mockados) e pipeline de CI inicial. ## Acompanhamento Atualizar este arquivo a cada marco relevante (setup concluido, nucleo funcional, etc.).