Files
leadradar/README.md
T

2.9 KiB

📡 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 admin vs user).
  • 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:


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 admin para 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_interacoes registrando cada transição de status, alteração de notas e webhooks recebidos.