# 🌐 WEB INTERFACE - README

## Quick Start (5 minutos)

### 1. Acessar a Interface

Abra no navegador:
```
http://localhost/projetos/balanceamento/log_balanceamento.php
```

### 2. Arquivos Criados

| Arquivo | Descrição | Status |
|---------|-----------|--------|
| `log_balanceamento.php` | Dashboard principal | ✅ Pronto |
| `setup_db_balanceamento.php` | Setup do banco MySQL | ✅ Pronto |
| `sincronizar_db_balanceamento.py` | Sync robô → banco | ✅ Pronto |
| `extensoes_web.php` | Exemplos de extensões | ✅ Pronto |
| `INTERFACE_WEB.md` | Documentação completa | ✅ Pronto |

## O que Você Pode Fazer

### 📊 **Dashboard**
- Ver status do robô (ativo/inativo)
- Visualizar valor total do portfólio
- Monitorar fase de operação (construção/balanceamento)
- Ver ganhos acumulados

### 💰 **Saldos**
- Saldo de cada moeda
- Preço atual no mercado
- Valor em USDT
- Percentual atual vs. alvo
- Barra visual do desvio

### 📈 **Histórico**
- Todos os trades executados
- Data/hora de cada operação
- Tipo (compra/venda/entrada)
- Preço e quantidade
- Valor da operação

### 🔍 **Detalhes**
- Moedas compradas
- Moedas pendentes
- Data de início
- Total de operações

## Requisitos

### Obrigatório
- ✅ PHP 7.4+ (já tem no XAMPP)
- ✅ Servidor web (Apache no XAMPP)
- ✅ Arquivos do robô em `robobalanceamento/`

### Opcional (Recomendado)
- ⭕ MySQL 5.7+
- ⭕ `mysql-connector-python` (para sincronização)

## Setup Básico (Sem Banco)

A interface funciona **apenas com JSON** (sem MySQL):

```bash
# 1. Rodar o robô normalmente
cd robobalanceamento
python robo_balanceamento.py

# 2. Abrir a interface no navegador
http://localhost/projetos/balanceamento/log_balanceamento.php
```

Pronto! Você verá todos os dados em tempo real.

## Setup Completo (Com Banco)

Se quiser histórico de múltiplos dias e gráficos:

### 1. Criar Banco de Dados
```bash
# Abrir no navegador:
http://localhost/projetos/balanceamento/setup_db_balanceamento.php
```

Isso cria:
- 6 tabelas MySQL
- Índices para performance
- Schema otimizado

### 2. Instalar Conector Python
```bash
pip install mysql-connector-python
```

### 3. Sincronizar Dados (Manual)
```bash
cd projetos/balanceamento
python sincronizar_db_balanceamento.py
```

### 4. Sincronizar Automático (Cron)
```bash
# Editar crontab
crontab -e

# Adicionar linha (rodaria cada hora):
0 * * * * cd /caminho/para/balanceamento && python sincronizar_db_balanceamento.py
```

## Troubleshooting

### ❌ "INATIVO" na interface
**Motivo**: Robô não está rodando ou parou há mais de 10 minutos

**Solução**:
```bash
# Verificar se robô está rodando
# Windows
tasklist | find "python"

# Linux/Mac
ps aux | grep robo_balanceamento

# Reiniciar robô
cd robobalanceamento
python robo_balanceamento.py
```

### ❌ Tabela de saldos vazia
**Motivo**: Robô e arquivo JSON não sincronizados

**Solução**:
```bash
# 1. Rode o executar o robô
# 2. Aguarde primeira compra
# 3. Recarregue a página (F5)
```

### ❌ Erro 500 na página PHP
**Motivo**: Permissão de arquivo ou erro de parsing

**Solução**:
```bash
# Verificar arquivo de erro
cat php_error_balanceamento.log

# Verificar permissões
ls -la robobalanceamento/
chmod 644 robobalanceamento/*.json
chmod 644 robobalanceamento/*.log
```

### ❌ MySQL não encontrado
**Motivo**: Banco não criado ou credenciais erradas

**Solução**:
```bash
# Verificar se XAMPP MySQL está rodando
# (Control Panel → MySQL → Start)

# Editar credenciais em setup_db_balanceamento.php:
$db_user = "seu_usuario";
$db_pass = "sua_senha";
```

## Recursos Avançados

Veja `extensoes_web.php` para:
- 📊 Gráficos com Chart.js
- 🔔 Sistema de alertas
- 🎮 Painel de controle
- 📡 API REST endpoints
- 📥 Export para CSV

## Arquitetura

```
┌─ robo_balanceamento.py (Python)
│  ├─ Executa operações de trading
│  ├─ Log em log_balanceamento.log
│  └─ Estado em portfolio_estado.json
│
├─ log_balanceamento.php (PHP) 
│  ├─ Lê JSON (tempo real)
│  ├─ Lê log (última seção)
│  └─ Renderiza interface
│
└─ sincronizar_db_balanceamento.py (Python)
   ├─ Lê dados do robô
   ├─ Escreve em MySQL
   └─ Roda via cron (1x/hora)
```

## Fluxo de Dados

```
Python Robô
    ↓ (JSON + Log)
    →→→ Navegador Web
    ↓ (HTTP)
    PHP Interface
    ↓ (Parse + Render)
    Dashboard em Tempo Real
    
[Opcional com MySQL]
Python Sync
    ↓
MySQL Database
    ↓
Gráficos históricos
```

## Performance

- **Interface básica**: < 100ms (JSON only)
- **Com gráficos**: < 500ms (MySQL queries)
- **Auto-refresh**: 60 segundos (recomendado)

## Suporte

Problemas? Verifique:

1. **Permissões de arquivo**:
   ```bash
   ls -la robobalanceamento/
   ```

2. **JSON syntax**:
   ```bash
   python -m json.tool robobalanceamento/portfolio_estado.json
   ```

3. **Log do robô**:
   ```bash
   tail -20 robobalanceamento/log_balanceamento.log
   ```

4. **Log de erro PHP**:
   ```bash
   cat php_error_balanceamento.log
   ```

## Próximos Passos

1. ✅ Instale e acesse `log_balanceamento.php`
2. ⭕ Configure o banco de dados (opcional)
3. ⭕ Ative auto-sincronização (cron job)
4. ⭕ Implemente extensões (gráficos, alertas)
5. ⭕ Adicione autenticação (.htaccess)

## Links Úteis

- [INTERFACE_WEB.md](INTERFACE_WEB.md) - Documentação detalhada
- [extensoes_web.php](extensoes_web.php) - Exemplos de código
- [robobalanceamento/](robobalanceamento/) - Arquivos do robô

---

**Versão**: 1.0  
**Criado**: 2024  
**Compatibilidade**: PHP 7.4+, MySQL 5.7+ (opcional)

Bom monitoramento! 🚀
