Skip to content

DOliberto/DOliberto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

standard-readme compliant

O Diário Oficial do século XXI

O DOliberto é uma plataforma gratuita em código aberto para a produção de Diários Oficiais digitais e transparentes.

O repositório em https://github.com/DOliberto/DOliberto contém:

  1. python back-end: transforma o JSON vindo da interface gráfica nos formatos exportados (PDF [✓], HTML [ ])
  2. servidor python: servidor flask simples que recebe POST request com os dados e chama o back-end para produção do PDF. Também salva o JSON na nuvem.
  3. classe LaTeX para produzir o PDF do Diário Oficial.
  4. Dockerfile que contém o ambiente completo para desenvolvimento e produção do DOliberto -- empacota todas as dependências necessárias + um servidor Apache para servir os arquivos estáticos da interface gráfica.

Conteúdo

Motivação

Escrever uma notícia para um Diário Oficial no Brasil geralmente envolve cópia-e-cola de um modelo escrito em word, com a customização dos poucos campos que mudam a cada publicação. (Pense no caso da nomeação de um funcionário para um cargo -- o texto é sempre o mesmo, só mudam o nome do funcionário e o código do cargo). Esse processo de cópia-e-cola é lento e sujeito a erros.

Além da ineficiência desse processo, o resultado é pouco acessível: em um cenário em que milhares de órgãos públicos publicam todos os dias enormes quantidades de informação, é impossível para uma pessoa (ou mesmo um grupo!) acompanhá-los todos. Para isso, é preciso que computadores e algoritmos possam fazer parte do trabalho, filtrando informações. Mas as informações disponibilizadas em formatos como PDF e HTML não estão preparadas para serem digeridas por algoritmos, o que demanda trabalhos de scrapping e parsing para sua extração.

A extração de informação de PDFs e sites não padronizados é uma tarefa árdua e fadada ao fracasso -- qualquer mudança de layout tende a demandar uma alteração no código de extração. Ao contrário de outros grupos que seguem esse caminho, o DOliberto tenta mudar a forma de produção dos DOs, tornando DOs multiformato a norma.

De uma só fonte o DOliberto produz vários formatos, cada um apropriado para uma tarefa:

  • leitura off-line: PDF
  • leitura on-line: HTML
  • análise: JSON, XML

Instalação e Uso

O DOliberto depende de uma série de projetos de software livre. Para facilitar o setup do seu ambiente de desenvolvimento, colocamos tudo que é necessário em uma imagem Docker, de modo que nossa única dependência na prática é a instalação do Docker.

Se você usa GNU/Linux, pode usar esse script da própria Docker:

curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh

Se você usa Windows/MacOS, ou prefere instalar manualmente, clique aqui.

Agora é só clonar o repositório:

git clone https://github.com/DOliberto/DOliberto.git

No diretório do projeto, construir a imagem Docker:

sudo docker build -t doli .

E, finalmente, rodar a imagem:

sudo docker run -d -p 8080:80 --name doli-server doli

Pronto! Agora é só visitar http://localhost:8888/.

Para parar o servidor DOliberto, basta fazer:

sudo docker stop doli-server

Mantenedores

@souzamatheusp @fernandascovino @harllos @odanoburu

Contribua!

O DOliberto é um projeto de software livre, e contribuições são bem-vindas! Abra uma issue se achar algo errado, ou então proponha uma solução para uma das issues já abertas!

Se você tiver uma nova ideia ou quiser conversar, fale com a gente! Você pode abrir uma issue ou nos mandar um email.

Licença

LGPL 3.0 © AUTHORS e CONTRIBUTORS