# 🔧 Guia de Instalação de Dependências - SIGED MILITAR

## ⚠️ Situação Atual

```
✗ PHP         - NÃO INSTALADO
✗ Composer    - NÃO INSTALADO  
✗ Node/NPM    - NÃO VERIFICADO
✗ Docker      - NÃO INSTALADO
```

---

## 🚀 Escolha UMA dessas 2 opções:

### **OPÇÃO 1: COM DOCKER** ✅ RECOMENDADA (Mais Fácil)

Se você **não quer instalar nada localmente**, use Docker!

#### Passo 1: Instalar Docker Desktop

1. Acesse: https://www.docker.com/products/docker-desktop
2. Clique em "Download for Windows"
3. Execute o instalador
4. Reinicie o computador após instalação
5. Abra PowerShell e verifique:
   ```bash
   docker --version
   docker-compose --version
   ```

#### Passo 2: Executar Instalação com Docker

```bash
cd "C:\Users\Win10\Desktop\ATUALIZAÇÃO SIGED\Conversão SIGED para Laravel"

# Iniciar containers (MySQL, Redis, Nginx, PHP)
docker-compose up -d

# Aguarde 30 segundos para containers iniciarem

# Instalar Composer
docker-compose exec app composer install

# Instalar NPM
docker-compose exec app npm install

# Gerar chave
docker-compose exec app php artisan key:generate

# Rodar migrations
docker-compose exec app php artisan migrate

# Popular banco
docker-compose exec app php artisan db:seed --class=PapelPermissaoSeeder

# Build frontend
docker-compose exec app npm run build

# Pronto! Acessar:
# http://localhost (Nginx)
# ou
# docker-compose exec app php artisan serve --host=0.0.0.0
```

**Vantagens do Docker:**
- ✅ Não precisa instalar nada localmente
- ✅ Ambiente consistente
- ✅ Banco de dados automático (MySQL)
- ✅ Redis automático
- ✅ Tudo isolado em containers

---

### **OPÇÃO 2: LOCALMENTE** (Mais Controle)

Se preferir instalar tudo no computador:

#### Passo 1: Instalar PHP 8.2+

1. Acesse: https://www.php.net/downloads.php
2. Escolha "Windows Builds"
3. Baixe **"VS16 x64 Non Thread Safe"** (última versão 8.2+)
4. Descompacte em: `C:\php` (ou outro local)
5. Adicione ao PATH do Windows:
   - Abra "Variáveis de Ambiente" (Win + Pause, ou busque)
   - Edite a variável "Path"
   - Adicione: `C:\php`
   - Clique OK
6. Abra PowerShell (nova janela) e teste:
   ```bash
   php --version
   ```

#### Passo 2: Instalar Composer

1. Acesse: https://getcomposer.org/download/
2. Siga as instruções (instalador Windows)
3. Durante a instalação, selecione o caminho do php.exe (`C:\php\php.exe`)
4. Teste no PowerShell:
   ```bash
   composer --version
   ```

#### Passo 3: Instalar Node.js (com NPM)

1. Acesse: https://nodejs.org/
2. Baixe a versão **LTS** (Long Term Support)
3. Execute o instalador
4. Escolha instalar também o npm
5. Teste no PowerShell:
   ```bash
   node --version
   npm --version
   ```

#### Passo 4: Instalar MySQL Server

1. Acesse: https://dev.mysql.com/downloads/mysql/
2. Baixe MySQL Community Server (versão 8.0)
3. Execute o instalador
4. Configure:
   - Port: 3306
   - Username: root
   - Password: (escolha uma senha)
5. Teste no PowerShell:
   ```bash
   mysql --version
   ```

#### Passo 5: Executar Instalação

```bash
cd "C:\Users\Win10\Desktop\ATUALIZAÇÃO SIGED\Conversão SIGED para Laravel"

# Instalar dependências PHP
composer install

# Instalar dependências JavaScript
npm install

# Criar banco de dados
mysql -u root -p
# (digite sua senha)
CREATE DATABASE siged_local CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
exit

# Gerar chave da aplicação
php artisan key:generate

# Rodar migrations
php artisan migrate

# Popular banco
php artisan db:seed --class=PapelPermissaoSeeder

# Build frontend
npm run build

# Iniciar servidor
php artisan serve
```

Acesse: http://localhost:8000

---

## 🔍 Verificação Rápida de Dependências

```bash
# Abra PowerShell e execute:

echo "=== Verificando Dependências ==="
php --version
composer --version
node --version
npm --version
mysql --version
docker --version 2>$null || echo "Docker não instalado"
```

---

## 📊 Comparação das Opções

| Aspecto | Docker | Local |
|--------|--------|-------|
| **Facilidade** | ⭐⭐⭐ Muito Fácil | ⭐⭐ Médio |
| **Dependências** | Apenas Docker | PHP, Composer, Node, MySQL |
| **Isolamento** | ✅ Sim | ❌ Não |
| **Banco de Dados** | ✅ Automático | ⚠️ Manual |
| **Performance** | ⭐⭐⭐ Excelente | ⭐⭐⭐⭐ Mais rápido |
| **Recommended** | ✅✅✅ | Para devs experientes |

---

## 🆘 Resolução de Problemas

### Erro: "PHP não é reconhecido..."
```
Solução: PHP não está no PATH
1. Reinstale PHP e marque "Add PHP to PATH"
2. Ou adicione manualmente ao PATH
3. Abra NOVA janela PowerShell
```

### Erro: "Composer não é reconhecido..."
```
Solução: Composer não instalado
1. Baixe de https://getcomposer.org/download/
2. Siga o instalador
3. Indique o caminho do PHP (C:\php\php.exe)
```

### Erro: "MySQL não está rodando..."
```
Solução: Iniciar MySQL
1. Abra Serviços (Win + R, digite "services.msc")
2. Procure por "MySQL80" (ou versão que instalou)
3. Clique com botão direito → Iniciar
```

### Erro: "Docker daemon is not running"
```
Solução:
1. Abra Docker Desktop
2. Aguarde inicialização (barra no canto inferior)
3. Tente novamente
```

---

## ✅ Próximas Passos Após Instalação

1. **Ler documentação**:
   ```bash
   # Leia estes arquivos:
   - README_MASTER.md
   - GUIA_INSTALACAO.md
   - CHECKLIST_PRODUCAO.md
   ```

2. **Rodar testes**:
   ```bash
   php artisan test
   ```

3. **Acessar a aplicação**:
   ```
   URL: http://localhost:8000
   Email: admin@siged.local
   Senha: password123
   ```

---

## 📞 Suporte

Se tiver problemas:

1. Verifique os logs:
   ```bash
   # Local
   storage/logs/laravel.log
   
   # Docker
   docker-compose logs app
   ```

2. Verifique o arquivo `.env`:
   ```bash
   # Banco de dados deve estar correto
   DB_HOST=localhost (local) ou mysql (docker)
   DB_DATABASE=siged_local
   DB_USERNAME=root
   DB_PASSWORD=sua_senha
   ```

3. Limpe caches:
   ```bash
   php artisan cache:clear
   php artisan config:clear
   php artisan view:clear
   ```

---

**Escolha a opção que preferir e comece!** 🚀

Recomendo **Docker** para maior facilidade.

