Este projeto é uma plataforma de gerenciamento de leads baseada em uma integração com a API do Google Places e do PageSpeed Insights. A aplicação permite a busca, análise e anotação de estabelecimentos comerciais, com foco na coleta de informações para estratégias de abordagem e relacionamento.
- Formulário com filtros avançados:
- Raio de busca (em km);
- Avaliação mínima;
- Número mínimo de avaliações;
- Palavra-chave.
- Cache: evita chamadas desnecessárias à API do Google Places.
- Salvamento de resultados:
- Formato consolidado (adicionado a um único arquivo CSV);
- Formato individual (um arquivo para cada consulta).
- Exibição dos leads salvos em uma tabela responsiva.
- Modal para detalhes do estabelecimento, incluindo:
- Nome, endereço, telefone, avaliação, categorias, site e link para o Google Maps;
- Anotações personalizadas:
- Adicionar, listar e excluir anotações específicas por lead.
- Persistência de anotações no arquivo
notes.json
.
- PageSpeed Insights:
- Exibição de métricas como Desempenho, Acessibilidade, Melhores Práticas, SEO, Tamanho da Página e Tempo de Carregamento.
- Integração com a API do PageSpeed Insights para análise detalhada do site.
- Exclusão de leads selecionados diretamente da interface.
- Estrutura baseada no Flask, com endpoints para:
- Busca de leads (POST
/search
). - Análise detalhada de leads selecionados (POST
/analyze
). - Gerenciamento de anotações (GET/POST
/save-notes
). - Exclusão de leads (POST
/delete-leads
). - Retorno de dados armazenados (
/analyze-data
). - Análise de desempenho via PageSpeed Insights (POST
/analyze-pagespeed
). - Retorno de dados do PageSpeed Insights (GET
/get-pagespeed
).
- Busca de leads (POST
project/
├── app.py # Arquivo principal do backend (Flask)
├── static/ # Arquivos estáticos (CSS, JS)
│ ├── css/
│ │ └── styles.css # Estilos personalizados
│ ├── js/
│ │ └── analyze.js # Scripts de funcionalidades do Analyze
├── templates/ # Templates HTML (Jinja2)
│ ├── index.html # Página inicial
│ ├── search.html # Tela de busca de leads
│ └── analyze.html # Tela de análise detalhada
├── outputs/ # Dados gerados pela aplicação
│ ├── consolidated/ # Resultados consolidados (CSV)
│ ├── individual/ # Resultados individuais (CSV)
│ ├── my_business_analise/ # Detalhes de leads salvos (JSON)
│ └── notes.json # Arquivo de anotações personalizadas
├── services/ # Módulos de serviços
│ ├── google_places.py # Integração com Google Places API
│ ├── google_business.py # Detalhes adicionais de lugares
│ ├── file_utils.py # Manipulação de arquivos
│ ├── file_cache_utils.py # Implementação do cache
│ └── pagespeed_service.py # Integração com PageSpeed Insights API
├── .env # Variáveis de ambiente (chaves de API)
└── requirements.txt # Dependências do Python
- Python 3.9+
- Ambiente virtual configurado (opcional, mas recomendado)
- Chaves válidas para as APIs do Google Places e PageSpeed Insights
-
Clone o repositório:
git clone <url-do-repositorio> cd project/
-
Instale as dependências:
pip install -r requirements.txt
-
Crie um arquivo
.env
no diretório raiz com o seguinte conteúdo:GOOGLE_PLACES_API_KEY=<sua-chave-da-api> GOOGLE_PAGESPEED_API_KEY=<sua-chave-da-api>
-
Execute o servidor:
python app.py
-
Acesse a aplicação em: http://127.0.0.1:5000.
Descrição: Busca de leads utilizando a API do Google Places.
- Parâmetros:
query
: Palavra-chave.location
: Localização (cidade ou endereço).radius
: Raio em km.min_rating
: Avaliação mínima.min_reviews
: Número mínimo de avaliações.
- Retorno: Lista de estabelecimentos encontrados.
Descrição: Realiza a análise detalhada dos leads selecionados.
- Parâmetros:
place_ids
: IDs dos lugares selecionados.
- Retorno: Detalhes dos lugares salvos.
Descrição: Realiza a análise de desempenho de um site usando a API do PageSpeed Insights.
- Parâmetros:
url
: URL do site.name
: Nome do estabelecimento associado.
- Retorno: Métricas essenciais como Desempenho, Acessibilidade, Melhores Práticas, SEO, etc.
Descrição: Retorna os dados salvos de desempenho do PageSpeed Insights.
- Parâmetros:
name
: Nome do estabelecimento.
- Retorno: Dados salvos no banco de dados ou arquivo JSON.
Descrição: Salva anotações para um lead específico.
- Parâmetros:
name
: Nome do lead.notes
: Lista de anotações.
- Retorno: Confirmação de salvamento.
Descrição: Remove leads do armazenamento local.
- Parâmetros:
names
: Lista de nomes dos leads a serem excluídos.
- Retorno: Confirmação de exclusão.
Descrição: Retorna todos os leads salvos para análise.
Descrição: Retorna todas as anotações salvas.
-
Inteligência Artificial
- Sugestões automáticas baseadas em anotações e dados dos leads.
-
Relatórios Automatizados
- Exportação de relatórios detalhados em PDF ou gráficos.
-
Dashboard Centralizado
- Tela inicial que conecta as funcionalidades de busca e análise.
- Desenvolvido por Gabriel Gomes.
- Baseado nas APIs do Google Places e PageSpeed Insights.
Este projeto está sob a licença MIT.