1. Finalidade da página
Esta página registra os requisitos da demanda Busca Geral do OLA. A necessidade central é permitir que o OLA recupere páginas, imagens e artefatos publicados sem exigir o cadastramento manual de cada item.
2. Problema a resolver
À medida que o OLA cresce, torna-se difícil localizar rapidamente páginas, imagens, infográficos, modelos, demandas, entregas e outros artefatos distribuídos em várias pastas.
A busca desejada deve funcionar como uma espécie de busca interna do OLA, mesmo sem back-end, usando um índice estático gerado automaticamente.
3. Solução prevista
A solução inicial será composta por três elementos:
raiz/
├── busca.html
├── busca_index.json
└── gerar_busca_index.py
O arquivo gerar_busca_index.py será executado no Mac para varrer as pastas
do OLA e gerar o arquivo busca_index.json. A página busca.html
lerá esse índice e apresentará os resultados no navegador.
4. Requisitos funcionais
| Código | Requisito | Descrição | Prioridade |
|---|---|---|---|
| RF01 | Buscar páginas HTML | O sistema deve localizar arquivos .html e .htm publicados no OLA. | Alta |
| RF02 | Buscar imagens | O sistema deve localizar imagens .png, .jpg, .jpeg, .svg e .webp. | Alta |
| RF03 | Abrir resultados | Todo resultado encontrado deve possuir link clicável para abrir a página, imagem ou arquivo. | Alta |
| RF04 | Exibir miniatura de imagens | Quando o resultado for imagem, a busca deve apresentar uma miniatura clicável. | Alta |
| RF05 | Filtrar por área | A busca deve permitir filtrar por áreas como fundamentos, domínios, demandas, entregas, metodologia, governança e experimentos. | Média |
| RF06 | Filtrar por formato | A busca deve permitir distinguir páginas, imagens, PDFs e outros arquivos aceitos. | Média |
| RF07 | Buscar por nome e caminho | A busca deve considerar o nome do arquivo, o caminho da pasta e palavras derivadas desses elementos. | Alta |
| RF08 | Gerar índice automaticamente | O script deve varrer as pastas do OLA e gerar automaticamente o arquivo busca_index.json. | Alta |
| RF09 | Ignorar arquivos desnecessários | O gerador deve ignorar arquivos temporários, ocultos, backups e pastas que não devem aparecer na busca. | Média |
| RF10 | Exibir quantidade de resultados | A página deve informar quantos resultados foram encontrados para a busca realizada. | Média |
5. Requisitos não funcionais
| Código | Requisito | Descrição | Prioridade |
|---|---|---|---|
| RNF01 | Funcionar sem back-end | A primeira versão deve funcionar apenas com arquivos estáticos: HTML, CSS, JavaScript e JSON. | Alta |
| RNF02 | Ser compatível com Hostinger | A solução deve funcionar no ambiente atual de publicação do OLA. | Alta |
| RNF03 | Ser responsiva | A página de busca deve funcionar em celular, tablet, desktop e TV. | Alta |
| RNF04 | Ter boa legibilidade | Resultados, caminhos e miniaturas devem ser apresentados de modo claro. | Alta |
| RNF05 | Evitar cadastro manual | A manutenção deve ser baseada na geração automática do índice, e não no cadastramento item a item. | Alta |
| RNF06 | Ser simples de atualizar | O processo de atualização deve consistir em rodar o script e publicar o JSON atualizado. | Alta |
| RNF07 | Preservar segurança | A busca não deve expor arquivos privados, sensíveis ou fora do escopo público do OLA. | Alta |
6. Tipos de arquivo contemplados
.html
.htm
.png
.jpg
.jpeg
.svg
.webp
.pdf
Em versões futuras, poderão ser avaliados outros formatos, como .json,
.txt e .md, caso façam sentido para a recuperação de conhecimento.
7. Pastas inicialmente consideradas
fundamentos/
dominios/
demandas/
entregas/
metodologia/
governanca/
experimentos/
lab/
arquitetura/
processos/
conteudo/
conhecimento/
ferramentas/
referencias/
documentacao/
A raiz também deve ser considerada, pois nela ficarão páginas como
index.html, portal.html, ola.html,
mapa_site.html e busca.html.
8. Arquivos e pastas a ignorar
O gerador do índice deve evitar incluir arquivos que não são úteis para o leitor.
.DS_Store
__pycache__/
.git/
.backup/
backup/
rascunhos/
arquivos_temporarios/
node_modules/
*.tmp
*.bak
9. Requisitos de interface
- Campo de busca principal.
- Filtro por área.
- Filtro por formato.
- Contador de resultados.
- Cards de resultado.
- Link clicável para abrir o arquivo.
- Miniatura clicável para imagens.
- Botão para limpar busca.
- Botão para voltar ao topo.
- Alternância entre tema claro e escuro.
10. Critérios de aceitação
| Código | Critério | Exemplo de teste |
|---|---|---|
| CA01 | Encontrar uma página HTML existente | Buscar por sistema deve retornar páginas do domínio Sistema. |
| CA02 | Encontrar uma imagem existente | Buscar por organismo vivo deve retornar a imagem correspondente, se ela existir no índice. |
| CA03 | Abrir resultado | Clicar no título, caminho ou miniatura deve abrir o arquivo em nova aba. |
| CA04 | Funcionar sem internet externa | A página deve funcionar sem depender de Google, banco de dados ou API externa. |
| CA05 | Atualizar resultados após novo índice | Após rodar o script e publicar novo busca_index.json, novos arquivos devem aparecer na busca. |
11. Fora do escopo inicial
- Busca em tempo real no servidor.
- Banco de dados.
- Login de usuário.
- Indexação semântica com IA.
- Busca dentro do conteúdo integral de PDFs.
- Controle de permissões por usuário.
12. Evoluções futuras
- Extrair o título real das páginas HTML a partir da tag
<title>. - Extrair subtítulos e metadados das páginas.
- Permitir busca por conteúdo textual das páginas.
- Gerar pesos por área, tipo de página e importância.
- Adicionar busca por tags do OLA.
- Separar resultados por páginas, imagens, PDFs e demandas/entregas.
- Transformar o índice em uma base de conhecimento navegável.
13. Síntese dos requisitos
A primeira versão da Busca Geral do OLA deve ser simples, estática, responsiva e gerada automaticamente. Seu objetivo principal é permitir que qualquer página, imagem ou artefato publicado possa ser encontrado e aberto sem cadastro manual.