caarleexx commited on
Commit
67ccdc9
·
verified ·
1 Parent(s): 0c8be95

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +148 -1
README.md CHANGED
@@ -6,4 +6,151 @@ colorTo: indigo
6
  sdk: docker
7
  pinned: false
8
  license: agpl-3.0
9
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  sdk: docker
7
  pinned: false
8
  license: agpl-3.0
9
+ ---
10
+
11
+ # ⚖️ PARA AI - Busca na Jurisprudência do STF
12
+
13
+ Aplicação web e API para pesquisa de jurisprudência no Supremo Tribunal Federal (STF). Permite buscar acórdãos e decisões monocráticas, com paginação, visualização detalhada e links para o inteiro teor.
14
+
15
+ ## 🚀 Funcionalidades
16
+
17
+ - Busca textual em **ementas**, **decisões** e **acórdãos/atas**.
18
+ - Seleção das bases: **Acórdãos** e/ou **Decisões Monocráticas**.
19
+ - Paginação dos resultados (10, 20, 50 ou 100 itens por página).
20
+ - Visualização detalhada de cada documento em página própria.
21
+ - Links diretos para o inteiro teor (PDF/HTML).
22
+ - Interface responsiva e amigável.
23
+ - Cache automático de token AWS WAF (Playwright).
24
+
25
+ ## 📦 Tecnologias
26
+
27
+ - Python 3.9+
28
+ - Flask (backend e templates)
29
+ - Playwright (obtenção do token)
30
+ - Requests (comunicação com a API do STF)
31
+
32
+ ## 🔧 Instalação
33
+
34
+ 1. Clone o repositório
35
+ 2. Instale as dependências:
36
+ ```bash
37
+ pip install flask playwright requests certifi urllib3
38
+ ```
39
+
40
+ 1. Instale os navegadores do Playwright:
41
+ ```bash
42
+ playwright install chromium
43
+ ```
44
+ 2. Execute a aplicação:
45
+ ```bash
46
+ python app.py
47
+ ```
48
+ 3. Acesse no navegador: https://caarleexx-stf.hf.space/
49
+
50
+ 📚 Endpoints da API
51
+
52
+ GET /api/busca-multipla
53
+
54
+ Busca documentos com os filtros selecionados.
55
+
56
+ Parâmetros:
57
+
58
+ Nome Tipo Obrigatório Descrição Padrão
59
+ q string sim Termo de busca -
60
+ acordaos bool não Incluir acórdãos (true/false) true
61
+ decisoes bool não Incluir decisões monocráticas (true/false) true
62
+ page int não Número da página 1
63
+ page_size int não Resultados por página (10,20,50,100) 20
64
+
65
+ Exemplo de requisição:
66
+
67
+ ```bash
68
+ curl "https://caarleexx-stf.hf.space/api/busca-multipla?q=dano%20moral&acordaos=true&decisoes=true&page=1&page_size=10"
69
+ ```
70
+
71
+ Exemplo de resposta:
72
+
73
+ ```json
74
+ {
75
+ "q": "dano moral",
76
+ "bases": ["acordaos", "decisoes"],
77
+ "page": 1,
78
+ "page_size": 10,
79
+ "total": 42,
80
+ "total_acordaos": 35,
81
+ "total_decisoes": 7,
82
+ "resultados": [
83
+ {
84
+ "id": "sjur123456",
85
+ "titulo": "RE 123456 AgR",
86
+ "processo": "RE 123456 AgR",
87
+ "relator": "MIN. NOME",
88
+ "orgao": "Segunda Turma",
89
+ "data": "2023-01-15",
90
+ "publicacao": "2023-02-10",
91
+ "ementa": "EMENTA: ...",
92
+ "decisao_texto": "...",
93
+ "acordao_ata": "...",
94
+ "url_documento": "https://portal.stf.jus.br/jurisprudencia/obterInteiroTeor.asp?idDocumento=...",
95
+ "base": "acordaos",
96
+ "score": 12.34
97
+ }
98
+ ]
99
+ }
100
+ ```
101
+
102
+ GET /api/documento/<doc_id>
103
+
104
+ Retorna os dados completos de um documento específico.
105
+
106
+ Exemplo:
107
+
108
+ ```bash
109
+ curl "http://localhost:7860/api/documento/sjur123456"
110
+ ```
111
+
112
+ Resposta similar ao item individual do endpoint anterior.
113
+
114
+ GET /api/health
115
+
116
+ Verifica o status da aplicação e do token.
117
+
118
+ Exemplo:
119
+
120
+ ```json
121
+ {
122
+ "status": "healthy",
123
+ "playwright_ready": true,
124
+ "token_cached": true
125
+ }
126
+ ```
127
+
128
+ 🌐 Interface Web
129
+
130
+ Acesse a raiz (/) para utilizar a interface gráfica.
131
+
132
+ · Selecione as bases desejadas.
133
+ · Digite os termos de busca.
134
+ · Clique em PESQUISAR ou pressione Enter.
135
+ · Navegue pelos resultados com os botões de paginação.
136
+ · Clique em "Ver detalhes completos" para abrir a página individual.
137
+ · Use os links "Inteiro teor" para acessar o documento original no site do STF.
138
+
139
+ ⚙️ Configuração de ambiente
140
+
141
+ Variável Descrição Padrão
142
+ PORT Porta do servidor Flask 7860
143
+
144
+ 📝 Notas
145
+
146
+ · O token AWS WAF é obtido automaticamente via Playwright e armazenado em cache por 10 minutos.
147
+ · Em caso de falha de token, a aplicação tenta renová-lo automaticamente uma vez.
148
+ · A API do STF utilizada é https://jurisprudencia.stf.jus.br/api/search/search.
149
+
150
+ 📄 Licença
151
+
152
+ Este projeto é de código aberto. Sinta-se à vontade para contribuir.
153
+
154
+ ---
155
+
156
+ Desenvolvido por PARA AI - convergent law technologies.