O ReceitasGov é um software de automação que captura receitas do governo, processa os dados e os envia para um API.
- 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
.
A biblioteca built-in logging
do Python foi utilizada para fornecer algumas informações do status da execução do programa.
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:
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
.
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
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
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.
Para rodar a aplicação entre no diretório do repositório (ReceitasGov
) e digite no terminal:
python3 source/main.py