# Módulo de Monitoramento de Publicações ## Visão Geral Este módulo permite que advogados monitorem publicações nos Diários Oficiais (DJe, DOU, DOESP) relacionadas aos seus processos. O sistema calcula automaticamente prazos com base no tipo de publicação. ## Funcionalidades - **Cadastro de processos** para monitoramento - **Busca de publicações** (mock para MVP) - **Cálculo automático de prazos** com base no tipo de publicação - **Dashboard** com estatísticas e alertas - **Filtros** por tipo, processo, período, status de leitura - **Marcação de publicações** como lidas ## Tipos de Publicação e Prazos | Tipo | Prazo Padrão | |------|--------------| | Intimação | 15 dias úteis | | Citação | 15 dias úteis | | Sentença | 15 dias úteis (recurso) | | Despacho | 5 dias úteis | | Acórdão | 15 dias úteis (embargos/recurso) | | Outros | 5 dias úteis | ## API Endpoints ### Processos - `GET /api/processos` - Lista processos monitorados - `POST /api/processos` - Cadastra novo processo - `GET /api/processos/[id]` - Detalhes de um processo - `PUT /api/processos/[id]` - Atualiza processo - `DELETE /api/processos/[id]` - Remove processo ### Publicações - `GET /api/publicacoes` - Lista publicações (com filtros) - `PATCH /api/publicacoes/[id]/visualizar` - Marca como lida - `POST /api/publicacoes/buscar` - Busca novas publicações ## Configuração de Busca Automática (Cron Job) ### Opção 1: Cron do Sistema ```bash # Editar crontab crontab -e # Adicionar linha para buscar diariamente às 8h 0 8 * * * curl -X POST http://localhost:3000/api/publicacoes/buscar -H "Cookie: session=..." >> /var/log/lexmind-publicacoes.log 2>&1 ``` ### Opção 2: Scheduler Externo Use serviços como: - **cron-job.org** (gratuito) - **EasyCron** - **GitHub Actions** (scheduled workflow) Configurar para fazer POST em `/api/publicacoes/buscar` diariamente. ## Integração com APIs Reais (Futuro) Para substituir o mock por APIs reais dos tribunais: 1. Editar `src/lib/publicacoes-service.ts` 2. Implementar `buscarPublicacoesTribunal(tribunal, numeroProcesso)` 3. APIs sugeridas: - **Datajud** (CNJ) - https://datajud-wiki.cnj.jus.br/ - **e-SAJ** (TJSP) - via scraping - **PJe** - via API onde disponível ## Schema do Banco ```prisma model ProcessoMonitorado { id String @id @default(cuid()) userId String numeroProcesso String // Formato CNJ: 0000000-00.0000.0.00.0000 tribunal String // Ex: TJSP, TRF3, STJ vara String? comarca String? parteAutora String? parteRe String? status ProcessoStatus @default(ATIVO) publicacoes Publicacao[] } model Publicacao { id String @id @default(cuid()) processoId String dataPublicacao DateTime diario String // Ex: DJe, DOU, DOESP conteudo String @db.Text tipo TipoPublicacao prazoCalculado DateTime? prazoTipo String? visualizado Boolean @default(false) } ``` ## Changelog ### v1.0.0 (MVP) - Cadastro e gerenciamento de processos - Dashboard de publicações - Busca mock para testes - Cálculo automático de prazos - Filtros e marcação de leitura