================================================================================
           SÓ MAIS UMA DUTY - FREE COMPANY FINAL FANTASY XIV
                 Data Center: Primal | Servidor: Behemoth
================================================================================

Este projeto é um portal web completo e independente desenvolvido para a Free
Company "Só Mais Uma Duty" em Final Fantasy XIV. Desenvolvido exclusivamente
com HTML5, CSS3, JavaScript ES6, Bootstrap 5, PHP 8+ e MySQL/MariaDB com PDO.

--------------------------------------------------------------------------------
1. REQUISITOS DO SERVIDOR
--------------------------------------------------------------------------------
- Servidor Web Apache com módulo mod_rewrite (opcional) ou Nginx
- PHP 8.0 ou superior (com extensões PDO, pdo_mysql e session habilitadas)
- MySQL 5.7+ ou MariaDB 10.3+ (compatível também com SQLite como fallback)
- Suporte a conexões seguras e cookies de sessão

--------------------------------------------------------------------------------
2. COMO INSTALAR O BANCO DE DADOS
--------------------------------------------------------------------------------
1. Acesse o phpMyAdmin ou terminal MySQL da sua hospedagem.
2. Crie um novo banco de dados:
   CREATE DATABASE ffxiv_fc CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3. Importe o arquivo localizado em:
   /database/database.sql
4. O script criará automaticamente as seguintes tabelas:
   - users (membros, credenciais com password_hash, jobs, status e roles)
   - staff (equipe de liderança, cargos e ordem de exibição)
   - events (agenda de raids, dungeons, farms e encontros sociais)
   - event_participants (inscrições com prevenção de duplicidade)
   - wall_posts (mural de recados da comunidade)
   - wall_likes (curtidas dos membros nos recados)

--------------------------------------------------------------------------------
3. ONDE CONFIGURAR A CONEXÃO SQL
--------------------------------------------------------------------------------
Abra o arquivo de configuração:
   /config/database.php

Altere as constantes conforme as credenciais da sua hospedagem:
   define('DB_HOST', 'localhost');
   define('DB_NAME', 'ffxiv_fc');
   define('DB_USER', 'seu_usuario');
   define('DB_PASS', 'sua_senha');
   define('DB_PORT', 3306);

Você também pode utilizar variáveis de ambiente (.env):
   DB_HOST, DB_NAME, DB_USER, DB_PASS, DB_PORT

--------------------------------------------------------------------------------
4. COMO CRIAR OU ACESSAR O PRIMEIRO ADMINISTRADOR
--------------------------------------------------------------------------------
O arquivo /database/database.sql já cria por padrão a conta de administrador:
   Usuário: admin
   Senha:   admin123
   Personagem: Y'shtola Rhul

Se desejar redefinir ou criar novamente a conta de administrador:
1. Acesse no navegador:
   http://seu-dominio.com/setup_admin.php
2. Clique no botão "Criar Administrador Padrão" ou "Redefinir Senha".
3. Em seguida, acesse /login.php com as credenciais acima.
4. Por segurança, após a configuração inicial você pode excluir ou proteger o
   arquivo setup_admin.php.

--------------------------------------------------------------------------------
5. ESTRUTURA BÁSICA DO PROJETO
--------------------------------------------------------------------------------
/index.php              - Página inicial (Banner, Contador Dinâmico, Próximos Eventos, Mural)
/staff.php              - Apresentação da liderança e oficiais da FC
/eventos.php            - Agenda com inscrição/cancelamento e vagas em tempo real
/mural.php              - Mural da comunidade com curtidas e moderação
/membros.php            - Diretório de membros ativos com busca e filtros em tempo real
/cadastro.php           - Inscrição de novos membros (inicia com status 'pendente')
/login.php              - Autenticação por Usuário ou E-mail com session fixation protection
/perfil.php             - Edição de dados, avatar, troca de senha e histórico
/admin.php              - Dashboard com métricas dinâmicas, moderação e aprovações
/logout.php             - Encerramento seguro de sessão
/setup_admin.php        - Assistente inicial de verificação e criação de admin
/config/
   database.php         - Conexão PDO segura (Prepared Statements + UTF8mb4)
/includes/
   auth.php             - Autenticação, CSRF Tokens, RBAC, XSS escaping e sessões
   header.php           - Topbar responsiva, navegação com badge e alertas flash
   footer.php           - Rodapé estilizado com disclaimers oficiais
/assets/
   css/style.css        - Tema customizado Dark Emerald MMORPG
   js/script.js         - Filtro instantâneo, contador de caracteres e interações ES6
   img/avatars/         - Coleção de avatares pré-configurados em SVG
/database/
   database.sql         - Esquema SQL completo com dados de exemplo de Eorzea

--------------------------------------------------------------------------------
6. DIRETRIZES DE SEGURANÇA IMPLEMENTADAS
--------------------------------------------------------------------------------
- Senhas protegidas com bcrypt via password_hash() e password_verify()
- Proteção total contra CSRF em todos os formulários e ações com token descartável
- Proteção contra XSS com escape obrigatório de saída htmlspecialchars()
- Consultas SQL 100% parametrizadas via PDO Prepared Statements
- Regeneração de ID de sessão (session_regenerate_id) após login
- Cookies de sessão com flags HttpOnly e SameSite=Strict
- Controle de acesso granular por papel (Admin, Moderador, Membro)
- Aprovação manual obrigatória de novos cadastros pela staff antes do acesso

--------------------------------------------------------------------------------
7. PASSO A PASSO PARA PUBLICAR NO CPANEL (HOSPEDAGEM WEB)
--------------------------------------------------------------------------------
1. CRIAR O BANCO DE DADOS NO CPANEL:
   - No cPanel, abra "Bancos de dados MySQL" (MySQL Databases).
   - Crie o banco: mureborn_fc (ou com o prefixo da sua conta, ex: seucpanel_mureborn_fc).
   - Em "Usuários do MySQL", crie o usuário: mureborn_fc com a sua senha escolhida.
   - Em "Adicionar usuário à base de dados", selecione o usuário e o banco criados,
     clique em Adicionar e marque a caixa "TODOS OS PRIVILÉGIOS" (ALL PRIVILEGES).

2. IMPORTAR AS TABELAS NO PHPMYADMIN:
   - No cPanel, abra o "phpMyAdmin".
   - Clique no nome do banco de dados na barra lateral esquerda.
   - Vá na aba "Importar" (Import).
   - Clique em "Escolher arquivo" e selecione o arquivo:
     /database/database.sql
   - Clique no botão "Executar" (Go) no final da página.

3. ENVIAR OS ARQUIVOS PARA O CPANEL:
   - Compacte os arquivos do projeto em um arquivo .ZIP (ou use FTP/Gerenciador de Arquivos).
   - No cPanel, abra o "Gerenciador de Arquivos" (File Manager).
   - Entre na pasta "public_html" (ou na pasta do seu subdomínio/domínio).
   - Faça o upload do ZIP e extraia os arquivos diretamente na public_html.
   - O arquivo .htaccess já incluído cuidará da segurança e roteamento inicial.

4. CONFERIR O ARQUIVO /config/database.php:
   - Abra o arquivo config/database.php pelo editor do Gerenciador de Arquivos.
   - Confirme se os dados coincidem com o banco criado no cPanel:
     define('DB_HOST', 'localhost');
     define('DB_NAME', 'seu_prefixo_mureborn_fc');
     define('DB_USER', 'seu_prefixo_mureborn_fc');
     define('DB_PASS', 'sua_senha');

5. PRONTO!
   - Acesse seu domínio (ex: https://seudominio.com.br).
   - Acesse https://seudominio.com.br/login.php com a conta de admin inicial:
     Usuário: admin
     Senha:   admin123

Só Mais Uma Duty - Primal, Behemoth (Final Fantasy XIV).
Bom jogo a todos os guerreiros da luz!
