Skip to content

Automação com Interface Gráfica para baixar o arquivo de receitas do Portal da Transparência, manipula-lo e envia-lo a API.

Notifications You must be signed in to change notification settings

DeividSouSan/ReceitasGov

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReceitasGov 🧾

O ReceitasGov é um software de automação que captura receitas do governo, processa os dados e os envia para um API.

Tecnologias e Bibliotecas Utilizadas 📝

  • Python (3.12.2)
  • Selenium: biblioteca para automação de tarefas em navegadores.
  • Pandas: biblioteca para manipulação e análise de dados.
  • Requests: biblioteca para fazer requisições HTTP.
  • Custom Tkinter: biblioteca para criar interfaces com Python.

Outras bibliotecas que foram utilizadas encontram-se no arquivo requirements.txt.

Outras Funcionalidades ➕

Logging

A biblioteca built-in logging do Python foi utilizada para fornecer algumas informações do status da execução do programa.

Arquitetura 🏗

O sistema foi desenvolvido tentando seguir boas práticas de programação e arquitetura limpa. A maneira final como as classes do sistemas estão organizadas e estão relacionadas é a seguinte:

Desafios 🥊

Importação Circular

Durante o desenvolvimento das interfaces do projeto, foi necessário lidar com importações circulares. A interface WindowControllerI e a classe BaseView se importavam de maneira paradoxal. Para solucionar isso utilizei o TYPE_CHECKING da biblioteca typing como condição para fazer as importações. Dessa maneira, somente durante a checagem de tipos é que ambas bibliotecas seriam importadas, evitando, assim, problemas durante a execução do código. As soluções podem ser verificadas dentro dos arquivos window_controller_i.py e base_view.py.

Screenshots 📷

Janela Principal

Janela Configurações

Janela Logs

Como rodar o projeto?

Clonando

Primeiro clone o repositório. Isso pode ser feito baixando-o ou utilizando o comando:

git clone git@github.com:DeividSouSan/ReceitasGov.git

Utilizando sua IDE ou Editor de Texto, abra o projeto. Se estiver pelo terminal acesse a pasta onde baixou ou clonou o projeto e digite:

cd ReceitasGov

Ambiente Virtual

Dentro da pasta do projeto, inicie um ambiente virtual. É recomendado instalar as bibliotecas em um ambiente virtual para evitar conflitos de versões com os pacotes instalados globalmente. Pelo terminal, crie um ambiente virtual utilizando:

python3 -m venv <nome_do_ambiente_virtual>

Geralmente o nome utilizado é .venv, mas isso é de sua escolha.

Para ativar o ambiente virutal no linux:

source .venv/bin/activate

Ou

. .venv/bin/activate

Para desativa-lo:

deactivate

No windows:

.venv/Scripts/activate

Para desativa-lo:

.venv/Scripts/deactivate

Bibliotecas

Para baixar as bibliotecas utilizadas, verifique se o ambiente virtual está ativado e digite no terminal:

pip install -r requirements.txt

Assim, todas as dependencias que estão dentro do arquivo requirements.txt serão baixadas para o ambiente virtual.

Rodando

Para rodar a aplicação entre no diretório do repositório (ReceitasGov) e digite no terminal:

python3 source/main.py

About

Automação com Interface Gráfica para baixar o arquivo de receitas do Portal da Transparência, manipula-lo e envia-lo a API.

Topics

Resources

Stars

Watchers

Forks

Languages