Sistema de prospecção de empresas utilizando a API do Google Places e Google Business Profile.
- Busca de empresas por localização e tipo de negócio
- Análise de dados das empresas encontradas
- Gerenciamento de leads
- Dashboard administrativo
- Sistema de autenticação e autorização
- Gerenciamento de usuários
- Configurações do sistema
- Sistema de backup automático
- Python 3.8+
- Flask 2.0.1
- Flask-Login 0.5.0
- Flask-SQLAlchemy 2.5.1
- Flask-WTF 0.15.1
- Python-dotenv 0.19.0
- Requests 2.26.0
- Schedule 1.1.0
- Werkzeug 2.0.1
- Clone o repositório:
git clone https://github.com/seu-usuario/prospectify-ai.git
cd prospectify-ai- Crie um ambiente virtual e ative-o:
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows- Instale as dependências:
pip install -r requirements.txt- Configure as variáveis de ambiente:
cp .env.example .env
# Edite o arquivo .env com suas configurações- Inicialize o banco de dados:
python scripts/init_db.pyPara iniciar o sistema completo (servidor web e agendador de backups):
python scripts/start_system.py startPara parar o sistema:
python scripts/start_system.py stopApós iniciar o sistema, acesse:
- Interface principal: http://localhost:5000
- Painel administrativo: http://localhost:5000/admin
prospectify-ai/
├── app.py # Aplicação principal
├── auth.py # Rotas de autenticação
├── api.py # Rotas da API
├── models/ # Modelos do banco de dados
│ ├── user.py # Modelo de usuário
│ └── settings.py # Modelo de configurações
├── scripts/ # Scripts utilitários
│ ├── init_db.py # Inicialização do banco de dados
│ ├── backup_manager.py # Gerenciador de backups
│ ├── schedule_backups.py # Agendador de backups
│ ├── start_backup_scheduler.py # Iniciador do agendador
│ └── start_system.py # Iniciador do sistema
├── static/ # Arquivos estáticos
│ ├── css/ # Estilos CSS
│ └── js/ # Scripts JavaScript
├── templates/ # Templates HTML
│ ├── admin/ # Templates do painel admin
│ └── auth/ # Templates de autenticação
├── backups/ # Diretório de backups
├── .env # Variáveis de ambiente
├── .env.example # Exemplo de variáveis de ambiente
├── requirements.txt # Dependências do projeto
└── README.md # Este arquivo
O sistema possui várias configurações que podem ser ajustadas através do painel administrativo:
- Nome do sistema
- Email de contato
- Tema padrão (claro/escuro)
- Tempo de sessão
- Tentativas de login
- Tempo de bloqueio
- Autenticação de dois fatores
- Frequência de backup (diário/semanal/mensal)
- Retenção de backups
- Compressão de backups
- Nível de log
- Retenção de logs
- Salvamento em arquivo
O sistema realiza backups automáticos conforme configurado. Os backups incluem:
- Banco de dados de usuários
- Banco de dados de resultados de busca
- Banco de dados de empresas selecionadas
- Banco de dados de configurações
Os backups são armazenados no diretório backups/ e podem ser gerenciados através do painel administrativo.
O sistema mantém logs detalhados de suas operações:
app.log: Logs da aplicação principalbackup_manager.log: Logs do gerenciador de backupsschedule_backups.log: Logs do agendador de backupssystem.log: Logs do gerenciador do sistema
Os logs podem ser visualizados e baixados através do painel administrativo.
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Faça commit das suas alterações (
git commit -am 'Adiciona nova feature') - Faça push para a branch (
git push origin feature/nova-feature) - Crie um Pull Request
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para mais detalhes.