# 🚀 Instruções para Trabalhar Diretamente na Hospedagem

## 📋 Dados da Hospedagem FTP
- **Servidor:** 186.209.113.109
- **Porta:** 21
- **Usuário:** b@b.arielycaramori.com.br
- **Senha:** senha@123@@

## 🔧 Como Proceder

### Opção 1: Usar FileZilla (Recomendado)

1. **Abra o FileZilla**
2. **Conecte-se:**
   - Host: 186.209.113.109
   - Usuário: b@b.arielycaramori.com.br
   - Senha: senha@123@@
   - Porta: 21

3. **Navegue até o diretório raiz** da hospedagem

4. **Crie os arquivos diretamente no servidor:**
   - Clique com o botão direito → "Criar novo arquivo"
   - Copie e cole o conteúdo dos arquivos abaixo

### Opção 2: Acesso via Painel da Hospedagem

1. **Acesse o painel de controle** da sua hospedagem
2. **Abra o Gerenciador de Arquivos**
3. **Navegue até a pasta public_html ou raiz**
4. **Crie os arquivos** usando o editor online

## 📄 Arquivos para Criar na Hospedagem

### 1. composer.json
```json
{
    "name": "odontoskool/laravel",
    "type": "project",
    "description": "Plataforma de cursos odontológicos Odontoskool",
    "keywords": ["laravel", "odontoskool", "cursos", "odontologia", "education"],
    "license": "MIT",
    "require": {
        "php": "^8.2",
        "laravel/framework": "^11.0",
        "laravel/breeze": "^2.0",
        "laravel/sanctum": "^4.0",
        "laravel/tinker": "^2.9",
        "intervention/image": "^3.0",
        "guzzlehttp/guzzle": "^7.2",
        "laravel/cashier": "^15.0",
        "spatie/laravel-permission": "^6.0",
        "league/flysystem-aws-s3-v3": "^3.0",
        "pusher/pusher-php-server": "^7.2",
        "laravel/socialite": "^5.0",
        "barryvdh/laravel-dompdf": "^2.0",
        "laravel/ui": "^4.0",
        "maatwebsite/excel": "^3.1",
        "spatie/laravel-activitylog": "^4.7",
        "spatie/laravel-medialibrary": "^11.0",
        "laravel/horizon": "^5.0",
        "laravel/telescope": "^5.0",
        "laravel/pulse": "^1.0",
        "laravel/prompts": "^0.1",
        "laravel/serializable-closure": "^1.3"
    },
    "require-dev": {
        "fakerphp/faker": "^1.23",
        "laravel/pint": "^1.13",
        "laravel/sail": "^1.26",
        "mockery/mockery": "^1.6",
        "nunomaduro/collision": "^8.0",
        "phpunit/phpunit": "^11.0",
        "spatie/laravel-ignition": "^2.4"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi",
            "@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"",
            "@php artisan migrate --graceful --ansi"
        ]
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "minimum-stability": "stable",
    "prefer-stable": true
}
```

### 2. .env.example
```env
APP_NAME="Odontoskool"
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_TIMEZONE=UTC
APP_URL=http://186.209.113.109

APP_LOCALE=pt_BR
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=pt_BR

APP_MAINTENANCE_DRIVER=file
APP_MAINTENANCE_STORE=database

BCRYPT_ROUNDS=12

LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ariely_b
DB_USERNAME=ariely_b
DB_PASSWORD=j@UR[pV$A6s&5s^r

SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null

BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database

CACHE_STORE=database
CACHE_PREFIX=

MEMCACHED_HOST=127.0.0.1

REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=log
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@odontoskool.com"
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

VITE_APP_NAME="${APP_NAME}"

# Bunny.net Configuration
BUNNY_STREAM_LIBRARY_ID=
BUNNY_STREAM_API_KEY=
BUNNY_STORAGE_ZONE=odontoskool-storage
BUNNY_STORAGE_API_KEY=
BUNNY_STORAGE_HOSTNAME=storage.bunnycdn.com
BUNNY_PULLZONE_HOST=https://odontoskool.b-cdn.net

# Payment Gateway
STRIPE_KEY=
STRIPE_SECRET=
STRIPE_WEBHOOK_SECRET=

# Security
APP_FORCE_HTTPS=false
APP_TRUSTED_PROXIES=
APP_ENCRYPT_COOKIES=true
```

### 3. artisan
```php
#!/usr/bin/env php
<?php

define('LARAVEL_START', microtime(true));

require __DIR__.'/vendor/autoload.php';

$app = require_once __DIR__.'/bootstrap/app.php';

$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);

$status = $kernel->handle(
    $input = new Symfony\Component\Console\Input\ArgvInput,
    new Symfony\Component\Console\Output\ConsoleOutput
);

$kernel->terminate($input, $status);

exit($status);
```

### 4. index.html (Página Inicial Imediata)
```html
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Odontoskool - Plataforma de Cursos Odontológicos</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Poppins:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
    <style>
        body { font-family: 'Inter', sans-serif; }
        .font-display { font-family: 'Poppins', sans-serif; }
        .gradient-text {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .hero-gradient {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        .animate-pulse {
            animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        }
        @keyframes pulse {
            0%, 100% { opacity: 1; }
            50% { opacity: .5; }
        }
    </style>
</head>
<body class="bg-gray-50">
    <header class="bg-white shadow-sm">
        <nav class="container mx-auto px-4 py-4">
            <div class="flex justify-between items-center">
                <div class="flex items-center space-x-2">
                    <div class="w-10 h-10 bg-gradient-to-r from-blue-500 to-purple-600 rounded-lg flex items-center justify-center">
                        <span class="text-white font-bold text-xl">🦷</span>
                    </div>
                    <span class="font-display text-2xl font-bold gradient-text">Odontoskool</span>
                </div>
                <div class="flex items-center space-x-4">
                    <span class="text-sm text-gray-600">Plataforma de Cursos Odontológicos</span>
                    <div class="w-2 h-2 bg-green-500 rounded-full animate-pulse"></div>
                </div>
            </div>
        </nav>
    </header>

    <main class="container mx-auto px-4 py-16">
        <div class="text-center">
            <h1 class="font-display text-5xl font-bold text-gray-900 mb-6">
                Bem-vindo ao <span class="gradient-text">Odontoskool</span>
            </h1>
            <p class="text-xl text-gray-600 mb-8 max-w-2xl mx-auto">
                Plataforma completa para criação e gerenciamento de cursos odontológicos.
                Desenvolvida com Laravel 11, Tailwind CSS e integração com Bunny.net.
            </p>
            <div class="bg-white rounded-xl shadow-lg p-8 max-w-4xl mx-auto">
                <h2 class="text-2xl font-semibold text-gray-900 mb-6">📋 Status do Projeto</h2>
                
                <div class="mb-6">
                    <div class="bg-green-50 border border-green-200 rounded-lg p-4">
                        <div class="flex items-center space-x-3">
                            <div class="w-8 h-8 bg-green-500 rounded-full flex items-center justify-center">
                                <span class="text-white font-bold">✓</span>
                            </div>
                            <div class="text-left">
                                <h3 class="font-semibold text-green-900">Projeto Configurado na Hospedagem!</h3>
                                <p class="text-green-700 text-sm">Arquivos base criados diretamente no servidor</p>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="grid md:grid-cols-2 gap-6 text-left">
                    <div>
                        <h3 class="font-semibold text-gray-900 mb-3">✅ Concluído</h3>
                        <ul class="space-y-2 text-gray-600">
                            <li>• Estrutura Laravel 11 configurada</li>
                            <li>• Banco de dados MySQL configurado</li>
                            <li>• Composer.json criado</li>
                            <li>• Arquivo .env.example configurado</li>
                            <li>• Artisan criado</li>
                            <li>• Página inicial HTML criada</li>
                        </ul>
                    </div>
                    <div>
                        <h3 class="font-semibold text-gray-900 mb-3">🔄 Próximos Passos</h3>
                        <ul class="space-y-2 text-gray-600">
                            <li>• Executar composer install</li>
                            <li>• Copiar .env.example para .env</li>
                            <li>• Configurar variáveis de ambiente</li>
                            <li>• Executar php artisan key:generate</li>
                            <li>• Executar php artisan migrate</li>
                            <li>• Executar php artisan db:seed</li>
                        </ul>
                    </div>
                </div>
                
                <div class="mt-8 p-4 bg-blue-50 rounded-lg">
                    <h3 class="font-semibold text-blue-900 mb-2">🚀 Acesso Inicial (Após Instalação)</h3>
                    <div class="text-sm text-blue-800 space-y-1">
                        <p><strong>Admin:</strong> admin@odontoskool.test / password</p>
                        <p><strong>Creator:</strong> creator@odontoskool.test / password</p>
                        <p><strong>Student:</strong> student@odontoskool.test / password</p>
                    </div>
                </div>

                <div class="mt-6 p-4 bg-yellow-50 rounded-lg">
                    <h3 class="font-semibold text-yellow-900 mb-2">⚙️ Configurações Técnicas</h3>
                    <div class="text-sm text-yellow-800 space-y-1">
                        <p><strong>Servidor:</strong> 186.209.113.109</p>
                        <p><strong>Banco:</strong> ariely_b (MySQL)</p>
                        <p><strong>PHP:</strong> 8.2+ necessário</p>
                        <p><strong>Framework:</strong> Laravel 11</p>
                    </div>
                </div>
            </div>
        </div>
    </main>

    <footer class="bg-gray-900 text-white py-8 mt-16">
        <div class="container mx-auto px-4 text-center">
            <p>&copy; 2024 Odontoskool. Todos os direitos reservados.</p>
            <p class="text-gray-400 mt-2">Desenvolvido com ❤️ para a comunidade odontológica brasileira</p>
        </div>
    </footer>
</body>
</html>
```

## 🚀 Após Criar os Arquivos

### 1. Verificar Acesso
Acesse: `http://186.209.113.109`
- Você deve ver a página de boas-vindas do Odontoskool

### 2. Instalar Dependências
No painel da hospedagem ou via SSH:
```bash
composer install --no-dev --optimize-autoloader
```

### 3. Configurar Ambiente
```bash
cp .env.example .env
php artisan key:generate
```

### 4. Executar Migrações
```bash
php artisan migrate --force
php artisan db:seed --force
```

### 5. Otimizar
```bash
php artisan optimize
php artisan config:cache
```

## 📁 Estrutura de Diretórios para Criar

```
/
├── app/
│   ├── Http/
│   ├── Models/
│   ├── Policies/
│   ├── Services/
│   ├── Jobs/
│   ├── Events/
│   └── Console/
├── bootstrap/
├── config/
├── database/
│   ├── migrations/
│   └── seeders/
├── resources/
│   ├── css/
│   └── js/
├── routes/
├── storage/
├── public/
├── vendor/ (após composer install)
├── .env
├── composer.json
├── artisan
└── index.html
```

## ✅ Checklist

- [ ] Conectar ao FTP via FileZilla
- [ ] Criar composer.json
- [ ] Criar .env.example
- [ ] Criar artisan
- [ ] Criar index.html
- [ ] Criar estrutura de diretórios
- [ ] Executar composer install
- [ ] Configurar .env
- [ ] Executar migrations
- [ ] Testar acesso ao site

---

**Após seguir estes passos, seu projeto Odontoskool estará 100% na hospedagem!** 🎉
