# Catálogo de Cestas - beni cestas Este é um projeto de site de catálogo de cestas e presentes desenvolvido em PHP puro, com estrutura MVC-like, pronto para ser implantado em servidores de hospedagem como o InfinityFree. ## Estrutura de Pastas ``` / ├─ /app (Lógica da aplicação, fora da raiz pública) │ ├─ /Controllers │ ├─ /Models │ └─ /Views ├─ /config (Configuração, fora da raiz pública) ├─ /database (Schema e seeds do banco de dados) ├─ /public_html (Raiz pública do site, o que vai para a pasta htdocs) │ ├─ index.php (Front-controller) │ ├─ .htaccess │ ├─ /assets (CSS, JS, Imagens) │ └─ /uploads (Imagens dos produtos) ├─ /scripts (Scripts de utilidade) └─ README.md ``` ## Requisitos * PHP 8.x * MySQL / MariaDB * Servidor web com suporte a `mod_rewrite` (Apache) ## Instruções de Deploy no InfinityFree 1. **Crie sua conta:** Acesse [InfinityFree.net](https://www.infinityfree.net/) e crie uma nova conta de hospedagem. 2. **Crie o Banco de Dados:** * No painel de controle (cPanel), vá para a seção "MySQL Databases". * Crie um novo banco de dados. Anote o nome do banco de dados (`if0_..._dbname`), o nome de usuário (`if0_...`) e a senha. O host do banco de dados (`sqlXXX.epizy.com`) também será exibido. 3. **Configure o projeto:** * Abra o arquivo `config/config.php`. * Altere os valores de `DB_HOST`, `DB_NAME`, `DB_USER`, e `DB_PASS` com as credenciais que você anotou no passo anterior. * Altere o `BASE_URL` para a URL do seu site no InfinityFree (ex: `http://seusite.epizy.com`). 4. **Faça o Upload dos Arquivos:** * Use um cliente FTP como o FileZilla para se conectar ao seu servidor InfinityFree (as credenciais de FTP estão no painel de controle). * **IMPORTANTE:** Envie o **conteúdo** da pasta `public_html` do projeto para a pasta `htdocs` no seu servidor. * Envie as pastas `app`, `config`, e `vendor` (se existir) para a raiz do seu servidor (fora da pasta `htdocs`). O InfinityFree permite criar diretórios fora de `htdocs`, o que é mais seguro. 5. **Importe o Banco de Dados:** * No painel de controle do InfinityFree, abra o `phpMyAdmin`. * Selecione o banco de dados que você criou. * Vá para a aba "Importar". * Faça o upload do arquivo `database/schema.sql` e execute a importação. 6. **Acesse o site:** Seu site já deve estar funcionando! ## Acesso ao Admin * **URL:** `http://seusite.epizy.com/admin` (será implementado) * **Usuário:** `admin@exemplo.com` * **Senha:** `ChangeMe123!` **IMPORTANTE:** A senha no `schema.sql` é um placeholder. Você precisará trocá-la. Um script para criar o admin com uma senha segura (`scripts/seed_admin.php`) será fornecido. ## Observações * A pasta `uploads` precisa de permissão de escrita para que o upload de imagens de produtos funcione. Você pode precisar ajustar as permissões via FTP (geralmente para 755). * Este projeto foi desenvolvido com uma estrutura simples para fins educacionais e de portfólio. Para um ambiente de produção real, considere usar um framework PHP robusto como Laravel ou Symfony.