Interface minimalista estilo "busca", construída em Next.js (App Router), com tema dark fosco e fluxo de pesquisa simulado para o MVP.
Status: MVP de interface (sem backend).
Objetivo do MVP: validar identidade visual + comportamento de busca + espaço para futura integração com fontes públicas.
- Visão geral
- Requisitos do MVP
- Como rodar localmente
- Estrutura do projeto
- Comportamento da interface
- Acessibilidade (a11y)
- Configuração e personalização
- Roadmap
- Boas práticas e limites do projeto
- Contribuindo
- Licença
- Contato
Este projeto entrega uma home com visual minimalista:
- Fundo preto fosco
- Fonte branca
- Logo central: OpenAudit (bold) + Brasil (thin)
- Barra de pesquisa com ícone
- Pesquisa ao apertar Enter ou clicar no ícone
- Ao pesquisar: barra "sobe", exibe loading "Pesquisando..." com animação de três pontinhos
- Abaixo do loading: exibe fontes de dados (uma por vez, 5s cada)
- Ao final do ciclo: oculta o loading e exibe uma mensagem de "página em desenvolvimento"
Este MVP não consulta dados reais. Ele simula o fluxo para manter o front-end pronto para integração.
- Home minimalista
- Logo central e barra de pesquisa no centro da tela.
- Ação de busca
- Iniciar busca ao:
- apertar Enter no input
- clicar no ícone da barra
- Iniciar busca ao:
- Transição para estado de busca
- A barra de pesquisa deve ir para o topo (layout "modo resultados").
- Loading
- Exibir
Pesquisando...com animação somente nos...(1,2,3 e reinicia).
- Exibir
- Fontes exibidas no MVP
- Exibir uma por vez, 5 segundos cada:
- Receita Federal
- gov.br
- IBGE
- IPEA
- TSE
- Exibir uma por vez, 5 segundos cada:
- Fim do loop
- Após exibir todas as fontes, ocultar loading e exibir:
página em desenvolvimento. Apoie a causa comunidade@openauditbrasil.com
- Após exibir todas as fontes, ocultar loading e exibir:
- Rodapé
- Links:
TermosePolítica de Privacidade
- Links:
- Next.js mais recente (App Router).
- UI responsiva (desktop/mobile).
- Sem bibliotecas de UI no MVP (CSS simples).
- Interface minimalista e de fácil manutenção.
- Node.js 18+ (recomendado 20+)
- npm (ou pnpm/yarn/bun — ajuste os comandos conforme seu gerenciador)
npm installnpm run devAcesse:
npm run build
npm run startPrincipais arquivos/pastas:
app/
layout.tsx # Layout raiz
page.tsx # Home + estados: idle/searching/done (MVP)
globals.css # Tema escuro fosco + layout minimalista
terms/page.tsx # Página de Termos (placeholder)
privacy/page.tsx # Página de Privacidade (placeholder)
public/
... # Assets estáticos (futuro: logo, ícones, etc.)
O MVP opera em 3 estados:
idle: tela inicialsearching: mostra loading e fontes rotativasdone: mostra mensagem final (resultado placeholder)
-
Usuário entra na home (
idle) -
Digita algo (ou não, conforme regra atual do MVP)
-
Pressiona Enter ou clica no ícone
-
UI muda para
searching -
Exibe:
Pesquisando./Pesquisando../Pesquisando...(loop)- uma fonte por vez (5s cada)
-
Após listar todas as fontes:
- muda para
done - exibe mensagem final de desenvolvimento
- muda para
Este MVP já considera:
- Input com
aria-label - Rodapé com label de navegação
- Área de status com
aria-live="polite"para anunciar mudanças ("Pesquisando…", resultado final)
Implementação futura:
- definir foco ao entrar em
searching(ex.: manter foco no input para permitir editar rapidamente). - adicionar "Voltar/Resetar busca" com role de botão e foco previsível.
Em app/page.tsx:
const SOURCES = ["Receita Federal", "gov.br", "IBGE", "IPEA", "TSE"] as const;Em app/page.tsx:
({}, 1000);Em app/page.tsx, no estado done:
<p>página em desenvolvimento. Apoie a causa comunidade@openauditbrasil.com</p>Em app/globals.css:
--bgcontrola o preto fosco--fgcontrola a cor do texto--surfacee--bordercontrolam o visual da barra
- Bloquear busca vazia (ou decidir regra)
- Botão "Resetar" (voltar ao estado
idle) - Tela de "resultados" (lista minimalista estilo motor de busca)
- Melhorar páginas de Termos/Privacidade (texto real)
- Criar endpoint
/api/search(mock) - Implementar polling/stream para mostrar fontes "em tempo real"
- Integrar com pipelines (crawler/indexação) conforme governança e compliance
- Versão "local-first" (rodar local para reduzir risco)
- Auditoria de rastreabilidade (logs, versionamento, explicabilidade)
- Módulo de "metodologia" e "limites do sistema"
Este repositório não tem como objetivo "acusar" ninguém.
Diretrizes essenciais (para reduzir risco e manter credibilidade):
-
Tratar resultados como:
- anomalia estatística
- padrão atípico
- inconsistência estrutural
- divergência documental
-
Nunca publicar inferência como "culpa".
-
Separar:
- análise automatizada (sinal)
- investigação manual (conclusão/checagem)
-
Respeitar termos de uso e LGPD:
- dado "público" ≠ "livre para qualquer uso"
- rastreabilidade e finalidade importam
-
Transparência metodológica:
- registrar fonte, data, versão do dado, transformação aplicada
Este MVP é apenas UI. As decisões jurídicas/operacionais entram quando houver integração real com fontes.
Contribuições são bem-vindas, mas mantenha o projeto simples e defensável.
-
Abra uma Issue descrevendo problema/feature
-
Faça um fork e crie uma branch:
feat/nomefix/nome
-
Faça PR com:
- descrição do que mudou
- screenshots (se mudar UI)
- checklist de a11y básico
- Commits:
feat:,fix:,chore:,docs: - Código: TypeScript estrito e legível
- Sem dependências desnecessárias
Apache License 2.0
- Email: comunidade@openauditbrasil.com
- Organização: OpenAudit Brasil (GitHub)
