Sistema web Django para coleta e análise de dados com funcionalidades de scraping e gerenciamento de usuários.
- Sistema de autenticação personalizado com login por email
- Módulo de scraping de dados web
- Interface administrativa Django
- Integração com PostgreSQL
- Suporte a análise de dados com pandas e numpy
- Python 3.8+
- PostgreSQL 12+
- Sistema operacional Linux/Ubuntu
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo systemctl start postgresql
sudo systemctl enable postgresql# Configurar usuário e banco de dados
sudo -u postgres psql -c "CREATE USER postgres WITH PASSWORD 'postgres';"
sudo -u postgres psql -c "ALTER USER postgres CREATEDB;"
sudo -u postgres psql -c "CREATE DATABASE datacity OWNER postgres;"# Navegar para o diretório do projeto
cd datacity
# Criar ambiente virtual
python3 -m venv venv
# Ativar ambiente virtual
source venv/bin/activate# Instalar dependências essenciais
pip install Django psycopg2-binary requests beautifulsoup4 selenium pandas numpy
# Ou instalar todas as dependências do requirements.txt
pip install -r requirements.txt# Criar migrações (se necessário)
python manage.py makemigrations
# Aplicar migrações
python manage.py migrate# Criar usuário administrador
echo "from accounts.models import User; User.objects.create_superuser('admin', '[email protected]', 'admin123')" | python manage.py shell# Ativar ambiente virtual (se não estiver ativo)
source venv/bin/activate
# Iniciar servidor de desenvolvimento
python manage.py runserver- URL Principal: http://localhost:8000/
- Painel Administrativo: http://localhost:8000/admin/
- Usuário:
admin - Senha:
admin123
- Usuário:
datacity/
├── accounts/ # App de autenticação e usuários
├── scraping/ # App de coleta de dados
├── static/ # Arquivos estáticos (CSS, JS, imagens)
├── templates/ # Templates HTML
├── datacity/ # Configurações principais do projeto
├── manage.py # Script de gerenciamento Django
├── requirements.txt # Dependências Python
└── README.md # Este arquivo
- Backend: Django 5.0.3
- Banco de Dados: PostgreSQL
- Scraping: BeautifulSoup4, Selenium
- Análise de Dados: Pandas, NumPy
- Frontend: HTML, CSS, JavaScript
Para desenvolvimento local, certifique-se de:
- Ativar sempre o ambiente virtual antes de trabalhar
- Executar migrações após mudanças nos models
- Coletar arquivos estáticos se necessário:
python manage.py collectstatic
- Verifique se o PostgreSQL está rodando:
sudo systemctl status postgresql - Confirme as credenciais no arquivo
settings.py
- Recrie o ambiente virtual e reinstale as dependências
- O servidor roda na porta 8000 por padrão
- Para usar outra porta:
python manage.py runserver 0.0.0.0:8080