# Guia de Instalação Rápida

## Pré-requisitos

- PHP 7.4 ou superior
- MySQL 5.7 ou superior
- Servidor web (Apache, Nginx, etc.)

## Instalação em 5 Passos

### 1. Copiar Arquivos
Copie todos os arquivos do projeto para o diretório do seu servidor web.

### 2. Criar Banco de Dados
Execute o script SQL para criar o banco de dados e as tabelas:

```bash
mysql -u root -p < database/schema.sql
```

Quando solicitado, digite a senha do MySQL.

### 3. Configurar Banco de Dados
Edite o arquivo `app/config/database.php` com suas credenciais:

```php
define('DB_HOST', 'localhost');      // Host do MySQL
define('DB_USER', 'root');           // Usuário MySQL
define('DB_PASS', 'sua_senha');      // Senha MySQL
define('DB_NAME', 'sistema_reservas'); // Nome do banco
```

### 4. Configurar E-mail (Opcional)
Edite o arquivo `app/config/config.php` para configurar o envio de e-mails:

```php
define('MAIL_FROM', 'seu_email@exemplo.com');
define('MAIL_FROM_NAME', 'Seu Negócio');
define('SMTP_HOST', 'smtp.seuservidor.com');
define('SMTP_PORT', 587);
define('SMTP_USER', 'seu_usuario');
define('SMTP_PASS', 'sua_senha');
```

### 5. Iniciar Servidor
Para desenvolvimento, use o servidor PHP embutido:

```bash
cd /caminho/para/sistema_reservas_php
php -S localhost:8000 -t public/
```

## Acessar o Sistema

### Frontend (Página Pública)
```
http://localhost:8000
```

### Painel Administrativo
```
http://localhost:8000/../admin/login.php
```

**Credenciais padrão:**
- Usuário: `admin`
- Senha: `admin123`

> **IMPORTANTE**: Altere a senha padrão após o primeiro acesso!

## Configuração em Produção

### Apache
Crie um arquivo `.htaccess` na raiz do projeto:

```apache
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
```

### Nginx
Configure o bloco `server` no nginx.conf:

```nginx
server {
    listen 80;
    server_name seu_dominio.com;
    root /caminho/para/sistema_reservas_php/public;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
```

## Checklist de Segurança

- [ ] Alterar senha do admin padrão
- [ ] Configurar HTTPS com certificado SSL
- [ ] Configurar firewall do banco de dados
- [ ] Desabilitar exibição de erros em produção
- [ ] Configurar backup automático
- [ ] Revisar permissões de arquivo
- [ ] Configurar logs de erro
- [ ] Testar validação de entrada
- [ ] Revisar configurações de e-mail

## Problemas Comuns

### Erro: "Erro na conexão com o banco de dados"
- Verifique se o MySQL está rodando
- Verifique as credenciais em `app/config/database.php`
- Verifique se o banco de dados foi criado

### Erro: "Permissão negada" ao criar arquivos
- Verifique as permissões do diretório
- Use `chmod 755` para diretórios e `chmod 644` para arquivos

### E-mails não estão sendo enviados
- Verifique as configurações SMTP
- Teste com Mailtrap (serviço de teste)
- Verifique se a função `mail()` está habilitada no PHP

## Próximos Passos

1. Customize o design em `assets/css/style.css`
2. Configure os serviços no painel administrativo
3. Defina os horários de funcionamento
4. Teste o fluxo completo de reserva
5. Configure backup automático
6. Monitore logs de erro

## Suporte

Para dúvidas ou problemas, consulte o arquivo `README.md` para mais informações detalhadas.
