# Vitrine Imobiliária (PHP 8 + MySQL 8 + MVC + Tailwind CDN)

Este projeto é uma reimplementação simples (e fácil de manter) da vitrine pública exportada do Lovable/Supabase,
agora em **PHP 8 + MySQL 8**, com estrutura **MVC** e layout em **Tailwind**.

## Requisitos
- PHP 8+
- MySQL 8+
- Apache (recomendado) com mod_rewrite **ou** Nginx (use o front controller `public/index.php`)
- Extensões PHP: pdo_mysql

## Instalação rápida
1. Crie o banco e rode o SQL:
   - `sql/01_schema.sql`
   - `sql/02_seed.sql` (opcional)

2. Copie `config.example.php` para `config.php` e ajuste credenciais:
   - DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASS
   - APP_BASE_URL (ex: http://localhost)

3. Aponte o DocumentRoot para a pasta `public/`.

## Rotas da vitrine
- `/site/{slug}` (Home)
- `/site/{slug}/imoveis` (Listagem/Busca)
- `/site/{slug}/imovel/{id}` (Detalhe)
- `/site/{slug}/sobre`
- `/site/{slug}/contato` (GET/POST)

## Multi-imobiliárias (SaaS)
- Cada registro em `tenants` representa uma imobiliária.
- As páginas são carregadas pelo `slug` (e no futuro você pode mapear domínio próprio).
- Todas as tabelas possuem `tenant_id`.

## Upload de fotos
Este esqueleto usa URLs (campo `property_images.url`). Você pode:
- guardar imagens em `storage/uploads` e salvar a URL pública, ou
- usar um bucket (S3/Cloudflare R2) depois.

---

Se você quiser, eu também posso refazer o **painel interno** (imóveis/clientes/contratos/financeiro)
com autenticação PHP + permissões por perfil, seguindo o mesmo schema.


## Painel interno (Auth + CRUD de imóveis)

- Acesse: `/admin/login`
- Usuário seed (se você rodar `02_seed.sql` e `03_admin.sql`):
  - Email: `admin@uniq.com`
  - Senha: `Admin@12345` (troque depois)

### Ordem recomendada de importação SQL
1. `sql/01_schema.sql`
2. `sql/02_seed.sql` (opcional)
3. `sql/03_admin.sql`

### Upload de fotos
As fotos são salvas em `public/uploads/{tenant_id}/properties/{property_id}/` e registradas na tabela `property_images`.
