# Instalação Web via Wizard (`/install`) — pacote PHP

Este pacote transforma a camada Web em uma aplicação **PHP instalável**.

O objetivo é permitir:
- subir no `public_html/eventsappquest/`
- acessar `/eventsappquest/install`
- preencher opções mínimas
- e abrir a aplicação em `/eventsappquest/app/`

## Estrutura (o que você vai enviar ao servidor)
- `/install/index.php` — wizard de instalação
- `/app/` — sistema web (dashboard mock + login admin)
- `/config/` — `config.php` gerado pelo wizard + exemplos
- `/storage/` — persistência local (JSON) gerada pelo wizard
- `/database/` — `schema.sql` (apenas quando você configurar DB MySQL)

## URL final esperada
1. Wizard: `https://SEU-DOMINIO/eventsappquest/install`
2. Sistema: `https://SEU-DOMINIO/eventsappquest/app/`
3. Login admin: `https://SEU-DOMINIO/eventsappquest/app/login.php`

## Pré-requisitos (cPanel / shared hosting)
O wizard verifica:
- versão do PHP (mínimo `7.4`)
- extensões: `json`, `pdo`
- diretórios graváveis: `config/` e `storage/`
- existência de arquivos essenciais do pacote

## Cenários

### Cenário A (recomendado): sem banco (mock/local)
- Deixe `DB_HOST` e `DB_DATABASE` em branco no wizard.
- O wizard entra em `mode=mock`.
- Ele cria `config/config.php`, grava `storage/mock_crm.json` com dados seed e cria o admin em `storage/admin_mock.json`.
- Você consegue testar visualmente imediatamente em `/app/`.

### Cenário B: com banco MySQL
- Informe `DB_HOST`, `DB_PORT`, `DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD`.
- Clique em “Testar conexão”.
- Na ETAPA 3, o wizard aplica `database/schema.sql` criando:
  - `admin_users`
  - `app_settings` (tabela criada; as configurações ficam principalmente em `config/config.php` neste pacote)
- Na ETAPA 4, o wizard injeta/atualiza o admin em `admin_users`.

## Bloqueio de reinstalação
Ao concluir a ETAPA 5, o wizard:
- cria `config/installed.flag`
- e (opcional via checkbox) cria `install/.htaccess` bloqueando a rota `/install`.

Para reabrir somente para testes: `.../install?reset=1` (remove o flag local e o bloqueio).

## O que está mockado/simulado
- Dashboard (Leads / Oportunidades / Propostas / Follow-ups) usa dados seed inspirados em `Assets/Web/Application/MockWebDataService.cs`.
- Persistência de ações simples (ex.: concluir/reabrir follow-up) fica em `storage/mock_crm.json`.
- Integração com WebGL do Unity é **opcional**: a tela tenta embutir `web-build/index.html` apenas se existir.

## Observações importantes
- Este wizard configura o sistema PHP para rodar no navegador.
- Se você quiser embutir a build Unity WebGL, primeiro exporte WebGL e coloque o output no diretório `web-build/` (do seu pacote).
- Se o cPanel bloquear `.htaccess`, pode ser necessário bloquear `/install` via painel.

