Code Monkey home page Code Monkey logo

doliberto's Introduction

DOliberto

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

doliberto's People

Contributors

fernandascovino avatar joaocarabetta avatar odanoburu avatar souzamatheusp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.