6038a936ec8fa1a4eaf96eaea0eec8cd1c02fd3e
📡 LeadRadar - Automação de Prospecção Ativa & Funil CRM B2B
Plataforma inteligente para prospecção ativa de clientes B2B/B2C no Google Maps a partir da triangulação de CEP e ramo de atividade, enriquecimento de contatos e gestão de funil comercial (Mini-CRM) em quadro Kanban.
🚀 Arquitetura & Stack Tecnológica
- Backend API Core: Python 3.11, Flask 3.x, Flask-SQLAlchemy, Flask-Bcrypt, Flask-JWT-Extended.
- Scraper Engine: Playwright (Chromium Headless) & Geocodificação ViaCEP.
- Frontend Dashboard: Streamlit com componentes customizados em CSS (Dark Tech Slate).
- Banco de Dados: PostgreSQL 16 (produção em Docker) / SQLite WAL (desenvolvimento e testes).
- Segurança & RBAC: Autenticação JWT com controle estrito de permissões (Perfil
adminvsuser). - Containerização: Docker & Docker Compose.
- Qualidade & Testes: Pytest (suíte automatizada com 100% de aprovação).
🛠️ Como Executar o Projeto
1. Execução via Docker Compose (Recomendado)
Certifique-se de ter o Docker e o Docker Compose instalados na sua máquina.
# Clone o repositório e acesse a pasta raiz
cd LeadRadar
# Suba a infraestrutura completa (PostgreSQL + Flask API + Streamlit UI)
docker-compose up --build -d
Acesse a aplicação no navegador:
- Frontend Streamlit UI: http://localhost:8501
- Backend API Flask: http://localhost:5000/health
2. Execução Local sem Docker (Desenvolvimento)
Backend (Flask API)
cd backend
python -m venv venv
# No Windows:
venv\Scripts\activate
# No Linux/macOS:
source venv/bin/activate
pip install -r requirements.txt
# Inicializar o banco de dados e criar o usuário admin padrão
flask seed-db
# Iniciar o servidor da API
python -m flask --app app:create_app run --port=5000
Frontend (Streamlit UI)
Em um novo terminal:
cd frontend
pip install -r requirements.txt
streamlit run app.py
🔑 Credenciais Padrão de Acesso Inicial
Ao executar a aplicação ou o comando flask seed-db, o seguinte usuário Administrador é criado automaticamente:
- E-mail:
admin@leadradar.com - Senha:
Admin@123456
🧪 Execução da Suíte de Testes Automatizados
A aplicação possui cobertura completa com testes de unidade, integração e regras de segurança RBAC.
cd backend
python -m pytest -v
🛡️ Segurança, RBAC & Conformidade LGPD
- Hashing de Senha: Bcrypt com salt irreversível.
- RBAC Decorators: Permissões restritas ao perfil
adminpara criação/exclusão de operadores e limpeza em lote do banco. - LGPD Opt-Out: Botão dedicado para marcar leads como "Opt-Out (Excluído)", impedindo re-importação ou novos contatos involuntários.
- Logs de Auditoria: Tabela
lead_interacoesregistrando cada transição de status, alteração de notas e webhooks recebidos.
Description
Languages
Python
96.1%
CSS
2.9%
Dockerfile
1%