Initial commit: LexMind - Plataforma Jurídica Inteligente

This commit is contained in:
bigtux
2026-02-10 15:46:26 -03:00
commit 08bd4f039d
108 changed files with 75782 additions and 0 deletions

111
docs/PUBLICACOES.md Normal file
View File

@@ -0,0 +1,111 @@
# 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