Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/deividsousan/botautomacaoreceitas
Automação com Interface Gráfica para baixar o arquivo de receitas do Portal da Transparência, manipula-lo e envia-lo a API.
https://github.com/deividsousan/botautomacaoreceitas
clean-architecture configuration-files custom-tkinter json logging oriented-object-programming pandas python selenium selenium-webdriver tkinter
Last synced: 4 months ago
JSON representation
Automação com Interface Gráfica para baixar o arquivo de receitas do Portal da Transparência, manipula-lo e envia-lo a API.
- Host: GitHub
- URL: https://github.com/deividsousan/botautomacaoreceitas
- Owner: DeividSouSan
- Created: 2024-08-28T21:16:01.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-10-08T10:00:07.000Z (4 months ago)
- Last Synced: 2024-10-11T18:22:20.011Z (4 months ago)
- Topics: clean-architecture, configuration-files, custom-tkinter, json, logging, oriented-object-programming, pandas, python, selenium, selenium-webdriver, tkinter
- Language: Python
- Homepage:
- Size: 16.1 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ReceitasGov 🧾
O *BotAutomacaoReceitas* é 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:
```bash
git clone [email protected]:DeividSouSan/BotAutomacaoReceitas.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:
```bash
cd BotAutomacaoReceitas
```### 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:
```bash
python3 -m venv
```Geralmente o nome utilizado é `.venv`, mas isso é de sua escolha.
Para ativar o ambiente virutal no linux:
```bash
source .venv/bin/activate
```Ou
```bash
. .venv/bin/activate
```Para desativa-lo:
```bash
deactivate
```No windows:
```bash
.venv/Scripts/activate
```Para desativa-lo:
```bash
.venv/Scripts/deactivate
```### Bibliotecas
Para baixar as bibliotecas utilizadas, verifique se o ambiente virtual está ativado e digite no terminal:```bash
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 (`BotAutomacaoReceitas`) e digite no terminal:```bash
python3 source/main.py
```