Skip to content

Releases: unb-mds/2024-1-Squad-10

Release 2

23 Aug 04:16
04fb45d
Compare
Choose a tag to compare

🚀 Release v2.0.0 - Transparência nos Gastos Públicos

Introdução

Na versão 2.0.0 do nosso projeto, continuamos a avançar em direção ao nosso objetivo de promover a transparência nos gastos públicos do Distrito Federal. Nesta atualização, implementamos uma série de melhorias técnicas e novas funcionalidades que ampliam a robustez e a usabilidade do sistema. Mantendo nosso compromisso com a transparência e a qualidade, as principais novidades desta versão incluem automações, otimizações de código e novos recursos que aprimoram ainda mais a experiência do usuário.

📊 Novas Funcionalidades

  • Gráfico Temporal no Ranking dos Órgãos Públicos: Agora, na seção de ranking dos órgãos, os usuários podem visualizar gráficos temporais que mostram os gastos anuais dos órgãos pesquisados. Esta funcionalidade permite uma análise mais profunda das tendências de investimento ao longo do tempo.

🛠 Melhorias Técnicas

  • Automação de Coleta de Dados com GitHub Actions: Implementamos uma automação completa para a coleta de dados utilizando GitHub Actions. Agora, o site é atualizado automaticamente sempre que um novo commit é feito, garantindo que as informações estejam sempre atualizadas.

  • Deploy Contínuo: Realizamos o deploy contínuo do site, garantindo que as atualizações sejam aplicadas em tempo real com cada novo commit.

  • Testes Unitários: Desenvolvemos testes unitários para diversas partes do código, aumentando a confiabilidade e a segurança das funcionalidades implementadas.

  • Workflow de Pylint: Criamos um workflow automatizado com Pylint, que é executado a cada pull request. Isso assegura a manutenção da qualidade do código estático, facilitando a detecção de problemas antes da integração.

  • Pipeline de Integração Contínua (CI): Configuramos uma pipeline CI usando GitHub Actions para rodar testes automaticamente a cada pull request. Essa automação permite identificar e corrigir erros de maneira proativa.

  • Otimização da Requisição de API do PNCP: Otimizamos o processo de requisição à API do Portal Nacional de Contratações Públicas (PNCP). Agora, as requisições que falham são registradas em um arquivo de log para que possam ser reprocessadas posteriormente, garantindo que nenhum dado seja perdido.

  • Otimização da Coleta de Dados das Empresas: Refatoramos o processo de coleta de dados das empresas para torná-lo mais eficiente, garantindo a precisão e a completude das informações capturadas.

  • Refatoração do Código: Encapsulamos diversas partes do código em funções, o que melhora a organização e facilita a manutenção e testes futuros. Essa refatoração contribui significativamente para a qualidade estática do projeto.

  • Community Standards: Implementamos todas as community standards recomendadas pelo GitHub, visando elevar o nível de qualidade e colaboração no desenvolvimento do projeto.

📚 Melhorias na Documentação

  • Documentação do Projeto: Ampliamos e melhoramos a documentação, agora com informações mais detalhadas sobre a arquitetura, funcionalidades, e orientações para colaboradores e usuários.

  • Atualização do README: O README foi aprimorado para facilitar a configuração do ambiente de desenvolvimento e fornecer uma explicação mais clara e detalhada sobre o propósito e funcionamento do projeto.

🐞 Correções de Bugs

  • Correção de Erros: Corrigimos um bug relacionado à abertura e ao caminho dos arquivos. Utilizamos a biblioteca os para garantir que os arquivos sejam acessados corretamente, independentemente do sistema operacional ou ambiente de execução. Continuamos atentos aos relatos e feedbacks dos usuários para garantir a resolução rápida de qualquer outro problema que possa surgir.

🛠 Ferramentas Utilizadas

Mantivemos o uso das ferramentas principais da primeira versão, mas com melhorias e otimizações nas suas configurações e implementações.

📖 Documentação

A documentação completa do projeto, refletindo as atualizações e novas funcionalidades desta versão, pode ser acessada aqui.

🏗 Diagrama de Arquitetura

O diagrama de arquitetura atualizado do projeto está disponível aqui.

🗺 Story Map

Para uma visão mais detalhada do fluxo de trabalho e progresso do projeto, acesse o nosso story map aqui.

🖼 Protótipo

O protótipo atualizado da página web pode ser visualizado aqui.

What's Changed

  • Adicionando nova funcionalidade para a parte dos órgãos e substituind… by @davi-aguiar-vieira in #29
  • Descrição dos arquivos e preparação para exclusão contratos_final_exc… by @romuloreisdev in #42
  • Refatoração do código coleta_api e coleta_cnpj e workflow by @mat054 in #47
  • Refatorei o código do rank das empresas, para facilitar a criação de testes unitários by @mat054 in #52
  • Adicionando script para abrir uma issue automática para revisão do arquivo de contratos by @davi-aguiar-vieira in #57
  • Refatorações usando Pylint e Markdownlint by @henriquecarv3 in #63
  • Encapsulando o código em funções para facilitar testes unitários by @henriquecarv3 in #64
  • teste unitario salvamento csv by @alvezclari in #65
  • criação do codeclimate para relatorio e atualizações pendentes by @9livesgod in #69
  • teste unitario para carregamento dos contratos by @9livesgod in #70
  • corrigindo erros para deploy funcionar corretamente by @davi-aguiar-vieira in #74
  • criacao de funcoes e paginacao by @romuloreisdev in #55
  • incluindo dark mode css by @alvezclari in #80
  • refatorando codigo de menu by @alvezclari in #82
  • Aplicando o darkmode_css_rankempresa by @9livesgod in #83
  • refatorando página de contato by @9livesgod in #85
  • Testes unitários para a pagina de menu by @alvezclari in #88
  • excluindo o arquivo .json fora da pasta by @9livesgod in #89
  • 87 implementar testes unitários para o código de coleta de cnpjs by @mat054 in #90
  • Melhorar cobertura dos testes unitários by @9livesgod in #91
  • Mantenabilidade e Desenvolvimento by @PedroLock in #92
  • Formatando diagrama de arquitetura e ajustando título by @PedroLock in #93
  • testes unitários para ordenacao_dados.py by @davi-aguiar-vieira in #96
  • Refatoração do código info_empresa by @henriquecarv3 in #94
  • pipeline IC para automação de testes by @davi-aguiar-vieira in #97
  • Nova logo do nosso projeto de mds by @9livesgod in #98

New Contributors

Full Changelog: v1.0.0...v2.0.0

Release 1

02 Jul 23:59
Compare
Choose a tag to compare

🚀 Release v1.0.0 - Transparência nos Gastos Públicos

Introdução

Esta é a primeira versão do nosso projeto, que visa garantir a transparência nos gastos públicos no Distrito Federal. Este projeto permite o acesso fácil e compreensível às informações sobre contratos de dispensas de licitação do governo com empresas, utilizando dados da API do Portal Nacional de Contratações Públicas (PNCP). Através da criação de rankings e dashboards, evidenciamos quais empresas recebem mais recursos e quais órgãos públicos são os maiores investidores.

📊 Funcionalidades

  • Rank das Empresas: Apresenta um ranking das empresas que recebem mais recursos através de dispensas de licitação e quais são as informações das empresas em questão, incluindo o nome dos sócios.
  • Rank dos Órgãos Públicos: Mostra quais órgãos públicos são os maiores investidores por meio de dispensas de licitação.
  • Dashboards Interativos: Utilizando gráficos e visualizações, facilitamos a compreensão dos dados financeiros.
  • Seções Informativas:
    • Menu: Navegação fácil entre as seções do site.
    • Contato: Informações de contato para suporte e feedback.
    • Sobre: Detalhes sobre o projeto e sua importância.

🛠 Melhorias

Como esta é a primeira versão, estamos lançando todas as funcionalidades básicas do projeto. Esperamos feedback dos usuários para futuras melhorias e ajustes.

🐞 Correções de Bugs

Nenhum bug específico foi listado para esta versão inicial, mas estamos atentos a quaisquer problemas que possam surgir e encorajamos os usuários a reportarem qualquer bug encontrado.

🛠 Ferramentas Utilizadas

  • Streamlit: Biblioteca principal para criação da interface web.
  • HTML, CSS e JavaScript: Utilizados para o desenvolvimento do menu.
  • Python: Linguagem principal utilizada no projeto.

📚 Bibliotecas Utilizadas

  • streamlit
  • json
  • requests
  • pandas
  • altair
  • plotly_express
  • re
  • pillow
  • os
  • streamlit.components.v1
  • base64
  • streamlit_extras.switch_page_button

Observação: Algumas dessas bibliotecas já vêm instaladas com o Python e não precisaram ser baixadas separadamente.

📖 Documentação

A documentação completa do projeto pode ser acessada aqui.

🏗 Diagrama de Arquitetura

O diagrama de arquitetura do projeto está disponível aqui.

🗺 Story Map

Para entender melhor o fluxo do projeto e seu desenvolvimento, acesse o nosso story map aqui.

🖼 Protótipo

O protótipo da página web pode ser visualizado aqui.