Cashola é um projeto de gerenciamento de finanças pessoais que utiliza dados de Notas Fiscais do Consumidor Eletrônicas (NFC-e) para rastrear gastos, com planos futuros para suporte a Bilhetes de Passagem Eletrônicos (BP-e). O projeto está em desenvolvimento e atualmente possui um módulo de extração de dados de NFC-e implementado com uma interface Streamlit.
- ✅ Módulo de extração de NFC-e
- ✅ Interface Streamlit básica
- 🔄 Suporte a BP-e (planejado)
- 🔄 API FastAPI (em desenvolvimento)
- 🔄 Backend Django (em desenvolvimento)
- 🔄 Frontend (planejado)
- Python
- Streamlit
- Selenium
- BeautifulSoup4
- Docker
- Django (em desenvolvimento)
- FastAPI (em desenvolvimento)
- Extração de dados de NFC-e dos estados:
- Minas Gerais (MG)
- Mato Grosso do Sul (MS)
- Pernambuco (PE)
- Paraná (PR)
- Sergipe (SE)
- Santa Catarina (SC)
- Interface web simples para consulta individual de NFC-e
- Processamento via Selenium Grid
- Alguns estados possuem restrições de acesso:
- Rondônia (RO): Possui CAPTCHA na página de consulta
- Paraíba (PB): Requer interação manual para consulta
- Piauí (PI): Necessita de redirecionamento específico
- Maranhão (MA): Possui CAPTCHA e carregamento lento
- Pará (PA): Não exibe informações detalhadas dos itens
- Rio Grande do Norte (RN): Problemas de acesso ao portal
- Processamento limitado a uma NFC-e por vez no Streamlit
- Estados não suportados:
- Amazonas (AM)
- Amapá (AP)
- Ceará (CE)
- Distrito Federal (DF)
- Rio de Janeiro (RJ)
- Roraima (RR)
- Tocantins (TO)
- BP-e ainda não implementado
- Clone o repositório:
git clone https://github.com/seu-usuario/cashola.git
cd cashola
- Crie e ative um ambiente virtual:
python -m venv venv
# No Windows
.\venv\Scripts\activate
# No Linux/MacOS
source venv/bin/activate
- Instale as dependências:
pip install -r requirements.txt
- Inicie o Selenium Hub:
docker-compose -f docker-compose-selenium-hub.yml up -d
- Execute a aplicação Streamlit:
streamlit run Scrapper.py
- Implementação da API FastAPI para processamento em lote
- Desenvolvimento do backend Django
- Criação de interface web completa
- Suporte a mais estados
- Implementação inicial do suporte a BP-e
- Desenvolvimento da estrutura de dados para BP-e
- Dashboard de análise de gastos
- Categorização automática de despesas
- Tratamento de CAPTCHAs
Contribuições são bem-vindas! Se você tiver interesse em colaborar com o projeto, sinta-se à vontade para:
- Fazer um fork do projeto
- Criar uma branch para sua feature
- Commitar suas mudanças
- Fazer push para a branch
- Abrir um Pull Request
Este projeto está em desenvolvimento ativo e foi criado com o objetivo de demonstrar habilidades em desenvolvimento backend, webscraping e integração de sistemas.