Supplier Portal
📋 Tasks Detalhadas para Linear - Portal do Fornecedor
📋 Tasks Detalhadas para Linear - Portal do Fornecedor
🎯 Epic: Sistema de Licitações e Propostas
Objetivo: Implementar sistema completo de visualização de licitações e envio de propostas para fornecedores.
Estimativa Total: 80 story points (~2 semanas)
🏃 Sprint 1: Foundation (40 points)
🔧 Task Group 1: Infraestrutura Base (8 points)
FORN-001: Configurar Pinia Stores
- Pontos: 3
- Prioridade: Alta
- Descrição: Implementar stores Pinia para gerenciamento de estado global
- Critérios de Aceite:
- Store de licitações criada com actions e getters
- Store de propostas configurada
- Store de usuário/autenticação funcional
- Persistência de estado implementada
- Detalhes Técnicos:
// stores/orders.ts - Estado: orders[], filters, pagination, loading - Actions: fetchOrders, updateFilters, toggleFavorite - Getters: filteredOrders, urgentOrders, stats
FORN-002: Implementar Sistema de Notificações Toast
- Pontos: 2
- Prioridade: Alta
- Descrição: Sistema de feedback visual para ações do usuário
- Critérios de Aceite:
- Componente Toast criado
- Suporte a tipos: success, error, warning, info
- Auto-dismiss configurável
- Queue de múltiplas notificações
- Animações de entrada/saída
- Dependências: Nenhuma
FORN-003: Setup Error Boundaries e Handlers Globais
- Pontos: 3
- Prioridade: Alta
- Descrição: Tratamento robusto de erros em toda aplicação
- Critérios de Aceite:
- Error boundary component implementado
- Global error handler configurado
- Logging de erros estruturado
- Fallback UI para erros
- Integração com Sentry (opcional)
📊 Task Group 2: Dashboard Funcional (12 points)
FORN-004: Integrar API Dashboard com Backend
- Pontos: 5
- Prioridade: Alta
- Descrição: Conectar dashboard com endpoint
/api/v1/fornecedor/dashboard - Critérios de Aceite:
- Composable
useDashboardMetricsfuncional - Loading states implementados
- Error handling configurado
- Cache de 5 minutos
- Refresh manual disponível
- Composable
- API Endpoint:
GET /api/v1/fornecedor/dashboard
FORN-005: Implementar Cards de Métricas Animados
- Pontos: 3
- Prioridade: Média
- Descrição: Cards visuais para métricas do dashboard
- Critérios de Aceite:
- 4 cards principais: Licitações Ativas, Propostas Enviadas, Taxa Conversão, Valor Total
- Animação count-up nos números
- Indicadores de variação (↑↓)
- Skeleton loading
- Responsivo mobile/desktop
FORN-006: Adicionar Gráficos ao Dashboard
- Pontos: 4
- Prioridade: Média
- Descrição: Visualizações de dados com Chart.js
- Critérios de Aceite:
- Gráfico de propostas por mês (linha)
- Gráfico de status de propostas (pizza)
- Interatividade (hover, tooltips)
- Responsivo
- Export PNG/PDF
📋 Task Group 3: Listagem de Licitações (20 points)
FORN-007: Implementar Virtual Scrolling
- Pontos: 5
- Prioridade: Alta
- Descrição: Performance para listas grandes com @tanstack/vue-virtual
- Critérios de Aceite:
- Virtual scroller implementado
- Suporte a 10.000+ items
- Smooth scrolling
- Dynamic height calculation
- Mobile optimized
FORN-008: Criar OrderCard Component
- Pontos: 4
- Prioridade: Alta
- Descrição: Card individual para exibição de licitação
- Critérios de Aceite:
- Design conforme mockup
- Badges de urgência/novo
- Progress bar de tempo restante
- Botões Ver Detalhes e Enviar Proposta
- Animações hover/click
- Favoritos funcional
FORN-009: Implementar Filtros Server-side
- Pontos: 5
- Prioridade: Alta
- Descrição: Sistema de filtros conectado ao backend
- Critérios de Aceite:
- Filtro por categoria de produto
- Filtro por estado/região
- Filtro por prazo
- Filtro por valor (range)
- Search por texto
- URL params sincronizados
FORN-010: Adicionar Paginação Infinita
- Pontos: 3
- Prioridade: Média
- Descrição: Scroll infinito com intersection observer
- Critérios de Aceite:
- Auto-load ao chegar no fim
- Loading indicator
- "Fim dos resultados" message
- Error retry
- Performance optimized
FORN-011: Sistema de Favoritos Local
- Pontos: 3
- Prioridade: Baixa
- Descrição: Marcar licitações como favoritas
- Critérios de Aceite:
- Toggle favorito no card
- Persistência localStorage
- Filtro "Apenas favoritos"
- Badge count no filtro
- Sync entre abas
🏃 Sprint 2: Sistema de Propostas (40 points)
📝 Task Group 4: Formulário de Proposta (25 points)
FORN-012: Estrutura Multi-step Form
- Pontos: 5
- Prioridade: Alta
- Descrição: Wizard para criação de proposta
- Critérios de Aceite:
- 3 steps: Produtos/Preços, Condições, Revisão
- Progress indicator
- Navigation prev/next
- Step validation
- Mobile responsive
FORN-013: Implementar Tabela de Itens/Preços
- Pontos: 6
- Prioridade: Alta
- Descrição: Interface para inserir preços unitários
- Critérios de Aceite:
- Lista todos os itens da licitação
- Input de preço unitário por item
- Cálculo automático de subtotal
- Total geral em tempo real
- Formatação monetária
- Validação de valores
FORN-014: Sistema de Auto-save
- Pontos: 4
- Prioridade: Alta
- Descrição: Salvamento automático de rascunhos
- Critérios de Aceite:
- Save a cada 30 segundos
- Save on change (debounced 2s)
- Indicador visual de saving
- Recuperação de draft
- Limpeza após envio
FORN-015: Validação com Yup/Zod
- Pontos: 3
- Prioridade: Alta
- Descrição: Validação robusta de formulários
- Critérios de Aceite:
- Schema de validação completo
- Mensagens de erro em português
- Validação em tempo real
- Highlight campos com erro
- Summary de erros
FORN-016: Calculadora de Competitividade
- Pontos: 4
- Prioridade: Média
- Descrição: Indicador visual de competitividade do preço
- Critérios de Aceite:
- Barra de competitividade
- Labels: Muito Competitivo, Na Média, Caro
- Baseado em histórico
- Cores indicativas
- Tooltip com detalhes
FORN-017: Sidebar de Resumo Fixa
- Pontos: 3
- Prioridade: Média
- Descrição: Resumo em tempo real da proposta
- Critérios de Aceite:
- Sticky sidebar desktop
- Bottom sheet mobile
- Lista de itens com subtotais
- Total geral destacado
- Botões de ação
📤 Task Group 5: Upload e Integração (15 points)
FORN-018: Sistema de Upload de Documentos
- Pontos: 5
- Prioridade: Alta
- Descrição: Upload drag-and-drop de arquivos
- Critérios de Aceite:
- Drag and drop area
- Click to browse
- Multiple files support
- Progress bar
- File preview
- Delete uploaded files
FORN-019: Validação e Compressão de Arquivos
- Pontos: 3
- Prioridade: Alta
- Descrição: Validação client-side de uploads
- Critérios de Aceite:
- Validação de tipo (PDF, JPG, PNG)
- Validação de tamanho (max 10MB)
- Compressão de imagens
- Erro messages claros
- Retry failed uploads
FORN-020: Integração POST Proposta com API
- Pontos: 5
- Prioridade: Alta
- Descrição: Envio completo da proposta ao backend
- Critérios de Aceite:
- Endpoint POST /api/v1/fornecedor/propostas
- Payload completo formatado
- Loading state durante envio
- Success feedback
- Error handling
- Redirect após sucesso
FORN-021: Modal de Confirmação de Envio
- Pontos: 2
- Prioridade: Média
- Descrição: Confirmação antes de enviar proposta
- Critérios de Aceite:
- Modal com resumo completo
- Valor total destacado
- Lista de documentos
- Botões Cancelar/Confirmar
- Loading durante envio
🚀 Sprint 3: Polish & Excellence (Opcional)
✨ Task Group 6: Melhorias UX (20 points)
FORN-022: Sugestão de Preços com IA
- Pontos: 8
- Prioridade: Baixa
- Descrição: Sistema inteligente de sugestão de preços
- Critérios de Aceite:
- Botão "Sugerir Preço"
- Baseado em histórico
- Considerações de volume
- Insights contextuais
- Aplicar com 1 clique
FORN-023: Real-time Updates (WebSocket)
- Pontos: 6
- Prioridade: Baixa
- Descrição: Atualizações em tempo real
- Critérios de Aceite:
- Pusher/Socket.io setup
- Novas licitações notificadas
- Updates de status
- Counter de novas
- Sound notification (opcional)
FORN-024: PWA Features
- Pontos: 4
- Prioridade: Baixa
- Descrição: Progressive Web App capabilities
- Critérios de Aceite:
- Service Worker
- Offline support
- Install prompt
- Push notifications
- App manifest
FORN-025: Dark Mode
- Pontos: 2
- Prioridade: Baixa
- Descrição: Tema escuro opcional
- Critérios de Aceite:
- Toggle switch
- Persistência preferência
- Smooth transition
- All components support
- System preference detection
📊 Estimativas Consolidadas
Por Sprint:
- Sprint 1: 40 points (~1 semana)
- Sprint 2: 40 points (~1 semana)
- Sprint 3: 20 points (~3 dias) - Opcional
Por Desenvolvedor:
- Frontend Senior: 60 points
- Frontend Pleno: 20 points
- Backend: 10 points (ajustes API)
- QA: 10 points (testes)
Dependências Críticas:
- API endpoints funcionais (backend)
- Dados de teste realistas
- Credenciais de produção (APIs externas)
- Assets visuais (ícones, imagens)
🎯 Definition of Done
Para cada task ser considerada completa:
Code:
- Código implementado conforme especificação
- Code review aprovado
- Sem warnings no console
- Lint passa sem erros
Testing:
- Unit tests escritos (quando aplicável)
- Testado manualmente em Chrome, Safari, Firefox
- Testado em mobile (iPhone/Android)
- Edge cases testados
Documentation:
- Comentários em código complexo
- README atualizado se necessário
- Storybook atualizado (componentes)
Performance:
- Lighthouse score > 90
- Bundle size otimizado
- Sem memory leaks
Accessibility:
- ARIA labels apropriados
- Navegação por teclado funcional
- Screen reader testado
🚦 Fluxo no Linear
Labels Sugeridas:
frontend- Tasks de frontendbackend- Tasks de backendurgent- Prioridade máximablocked- Dependência não resolvidaready- Pronto para desenvolvimentoin-review- Em code reviewqa- Em testes
Workflow:
- Backlog → Task criada
- Ready → Dependências resolvidas
- In Progress → Em desenvolvimento
- In Review → Code review
- QA → Testes
- Done → Completa
Templates de Task:
Bug:
**Descrição:**
[Descreva o bug]
**Passos para Reproduzir:**
1.
2.
3.
**Comportamento Esperado:**
[O que deveria acontecer]
**Comportamento Atual:**
[O que está acontecendo]
**Screenshots:**
[Se aplicável]
**Ambiente:**
- Browser:
- Device:
- OS:
Feature:
**User Story:**
Como [tipo de usuário]
Eu quero [funcionalidade]
Para que [benefício]
**Critérios de Aceite:**
- [ ] Critério 1
- [ ] Critério 2
**Detalhes Técnicos:**
[Especificações técnicas]
**Mockups/Design:**
[Links ou imagens]
📈 Métricas de Acompanhamento
Velocity:
- Sprint 1: 40 points (target)
- Sprint 2: 40 points (target)
- Sprint 3: 20 points (target)
Burndown:
Acompanhar diariamente no Linear
Quality Metrics:
- Bug rate: < 2 por sprint
- Test coverage: > 80%
- Code review turnaround: < 4h
Tasks preparadas para importação no LinearData: Janeiro/2025Total: 25 tasks principais