🐾 DEV COM IA · 29/08/2026
Início
Ato 1 — Manhã
Ato 2 — Tarde
Referência
MATERIAL DE APOIO OFICIAL · 29/08/2026 · PHP 7.4+

🐾 Sistema de PetShop
com Claude AI

Sábado, 29 de agosto de 2026. Do banco de dados ao deploy no cPanel. Código PHP 7.4+ compatível com qualquer hospedagem compartilhada.

29 AGO 2026 09h–17h · SÁBADO PHP 7.4+ 🐾 PetShop
O dia de hoje

O que você vai construir

Sistema completo de PetShop — cadastro de pets e tutores, agendamentos, prontuário veterinário, loja com PDV e dashboard de gestão.

PeríodoFocoEntrega
Manhã 09h–12hClaude + Ambiente + PHP 7.4+Fundação técnica dominada
Almoço 12h–13h30Pausa—
Tarde 13h30–17hSistema PetShop ao vivoSistema no ar no cPanel
💡 PHP 7.4+ — POR QUÊ?A maioria das hospedagens compartilhadas (cPanel) roda PHP 7.4 por padrão. Todo código do dia é compatível com 7.4, 8.0, 8.1 e 8.2 sem alterações.
CRONOGRAMA · 29/08/2026

Sábado, 29 de Agosto · 09h às 17h

Dois atos com pausa de 1h30 para almoço às 12h.

HorárioConteúdo
09:00–09:30Abertura, apresentação e setup do ambiente
09:30–10:00Bloco 1 — O Claude para Devs PHP
10:00–10:30Bloco 2 — Hospedagem e cPanel
10:30–11:00Bloco 3 — PHP 7.4+ Moderno com Claude
11:00–11:30Bloco 4 — MySQL com Claude
11:30–12:00Bloco 5 — Front-End Mobile-First
12:00–13:30🍽️ Almoço (1h30)
13:30–14:00Ato 2 · Bloco 1 — Arquitetura do PetShop
14:00–14:45Ato 2 · Bloco 2 — Pets, Tutores e CRUD
14:45–15:30Ato 2 · Bloco 3 — Agendamentos e Prontuário
15:30–16:30Ato 2 · Bloco 4 — Loja, PDV e Dashboard
16:30–17:00Deploy ao vivo, Q&A e próximos passos
💡 CHEGOU ATRASADO?Use o menu para ir direto ao bloco atual. Todo conteúdo fica aqui para revisar depois.
SETUP · 09h00–09h30

Ambiente e Ferramentas

Instale antes do evento para não perder tempo no dia.

FerramentaPara quêVersão
Claude (claude.ai)Copiloto de código — gratuitoQualquer
VS CodeEditor principalAtual
XAMPP (Win) / MAMP (Mac)PHP 7.4+ + MySQL localPHP ≥ 7.4
Chrome + DevToolsTestar responsividade mobile—
phpMyAdminAdministrar banco de dadosIncluso no XAMPP

Extensões VS Code
  • PHP Intelephense — autocomplete e diagnóstico PHP
  • MySQL (by cweijan) — banco direto no editor
  • Live Server — preview HTML instantâneo
  • Prettier — formatação automática
📁 PASTA DO PROJETOCrie C:\xampp\htdocs\petshop\ e abra no VS Code.
⚠️ VERIFICAR VERSÃO PHPAbra localhost/dashboard no XAMPP e confirme PHP ≥ 7.4 no canto superior direito.
Ato 1 — Manhã · Claude como Copiloto PHP 7.4+
BLOCO 1 · 09h30–10h00

O Claude para Devs PHP

Os 3 modos e o contexto do projeto para o dia todo.

FUNDAMENTOS
ModoQuando usarExemplo
GerarDo zero"Cria função PHP 7.4 para conectar ao MySQL via PDO"
RefatorarMelhorar código"Esse código está repetitivo. Refatore com funções"
DebugarEncontrar erro"Esse PHP dá Warning: undefined variable, corrija"

Contexto do projeto — cole agora no Claude
PROMPT DE CONTEXTO
Hoje você é meu copiloto de programação PHP 7.4 durante um treinamento ao vivo. O projeto é um sistema completo de PetShop com PHP 7.4+, MySQL 5.7+, Bootstrap 5 e jQuery. Banco de dados: - tutores (id, nome, email, telefone, cpf, endereco, criado_em) - pets (id, tutor_id, nome, especie, raca, nascimento, peso, foto, observacoes) - servicos (id, nome, descricao, preco, duracao_min, ativo) - agendamentos (id, pet_id, servico_id, funcionario_id, data_hora, status ENUM("agendado","em_andamento","concluido","cancelado"), valor, observacoes) - prontuario (id, pet_id, data_atendimento, descricao, vacinas, medicamentos, peso_atual, proximo_retorno, funcionario_id) - produtos (id, nome, categoria, descricao, preco, estoque, foto, ativo) - vendas (id, cliente_nome, total, desconto, forma_pagto, criado_em) - vendas_itens (id, venda_id, produto_id, quantidade, preco_unitario) - funcionarios (id, nome, cargo, email, senha, ativo) Regras OBRIGATÓRIAS: - PHP 7.4+ com typed properties onde possível - PDO com prepared statements SEMPRE - NUNCA usar mysql_ (deprecated) - Bootstrap 5 via CDN para front-end - Código compatível com PHP 7.4, 8.0, 8.1 e 8.2 - Seja conciso e prático
⚠️ PHP 7.4 — EVITENão usar: named arguments (8.0+), match sem fallback (8.0+), fibers (8.1+), readonly properties (8.1+). Use: typed properties (7.4+), arrow functions (7.4+), null coalescing ??= (7.4+).
BLOCO 2 · 10h00–10h30

Hospedagem e cPanel

Do XAMPP ao servidor real. config.php compatível PHP 7.4+.

INFRA
Caminho do código
01PC local · XAMPP PHP 7.4+
02Hospedagem com cPanel
03PHP Selector → selecionar 7.4 ou superior
04🌐 Online

PROMPT — config.php PHP 7.4+
Cria config.php para PHP 7.4+ que funcione em localhost (XAMPP) e em produção (cPanel). Use define() para constantes e PDO para conexão. Adiciona tratamento de PDOException. Compatível com PHP 7.4 a 8.2.
<?php declare(strict_types=1); define("AMBIENTE", "local"); if (AMBIENTE === "local") { define("DB_HOST", "localhost"); define("DB_USER", "root"); define("DB_PASS", ""); define("DB_NAME", "petshop_db"); define("BASE_URL", "http://localhost/petshop/"); error_reporting(E_ALL); ini_set("display_errors", "1"); } else { define("DB_HOST", "localhost"); define("DB_USER", "cpanel_usuario"); define("DB_PASS", "senha_forte"); define("DB_NAME", "prefixo_petshop"); define("BASE_URL", "https://seudominio.com.br/"); error_reporting(0); ini_set("display_errors", "0"); } try { $pdo = new PDO( "mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset=utf8mb4", DB_USER, DB_PASS, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false] ); } catch (PDOException $e) { die(json_encode(["erro" => $e->getMessage()])); }
BLOCO 3 · 10h30–11h00

PHP 7.4+ Moderno

Typed properties, arrow functions e CRUD reutilizável.

BACK-END
RecursoPHPExemplo
Typed Properties7.4+public int $id;
Arrow Functions7.4+fn($x) => $x * 2
Null Coalescing ??=7.4+$var ??= "default"
Spread em Arrays7.4+$arr = [...$a, ...$b]
PHP·01
CRUD genérico PHP 7.4+
Funções para qualquer tabela
▼
PROMPT
Cria funções PHP 7.4+ com PDO para CRUD genérico: buscar_todos(PDO $pdo, string $tabela, string $where = "", array $params = []): array buscar_por_id(PDO $pdo, string $tabela, int $id): ?array inserir(PDO $pdo, string $tabela, array $dados): int atualizar(PDO $pdo, string $tabela, int $id, array $dados): bool deletar(PDO $pdo, string $tabela, int $id): bool Use typed parameters PHP 7.4+, prepared statements, retorno tipado.
PHP·02
Upload de foto PHP 7.4+
Pets e produtos
▼
PROMPT
Cria função upload_foto(array $arquivo, string $pasta): ?string em PHP 7.4+. Aceita JPG, PNG, WEBP (max 3MB). Valida extensão E mime type com finfo_file(). Salva em /uploads/{$pasta}/ com nome via uniqid() + extensão. Retorna caminho relativo ou null em caso de erro. Pasta pode ser "pets" ou "produtos".
BLOCO 4 · 11h00–11h30

MySQL com Claude

Banco completo do PetShop — 9 tabelas com relacionamentos.

BANCO DE DADOS
tutores ──1:N──► pets ──1:N──► agendamentos │ └──► prontuario └──────────────────► (via tutor) servicos ──N:1──► agendamentos produtos ──N:N──► vendas_itens ──N:1──► vendas funcionarios ──N:1──► agendamentos, prontuario
SQL·01
Criar banco completo MySQL 5.7+
9 tabelas + dados de exemplo
▼
PROMPT
Gera SQL completo para PetShop compatível com MySQL 5.7+: Tabelas: tutores, pets (FK tutor), servicos, agendamentos (FK pet+servico+func), prontuario (FK pet+func), produtos, vendas, vendas_itens (FK venda+produto), funcionarios (id, nome, cargo, email, senha varchar(255), ativo). InnoDB, utf8mb4, FK constraints, INDEX em colunas de busca. Insere: 3 funcionarios, 5 servicos, 10 produtos, 3 tutores com 5 pets de exemplo.
SQL·02
Agenda do dia completa
JOIN entre 4 tabelas
▼
PROMPT
Query MySQL 5.7+: agendamentos de hoje com nome do pet, espécie, nome do tutor, telefone, serviço, horário, status e valor. JOIN entre agendamentos, pets, tutores, servicos. Filtre por DATE(data_hora) = CURDATE(), ORDER BY data_hora ASC.
BLOCO 5 · 11h30–12h00

Front-End Mobile-First

Bootstrap 5 + jQuery para interfaces do atendente e veterinário.

FRONT-END
UI·01
Card de pet — lista com status
▼
PROMPT
Card Bootstrap 5 para exibir pet: foto circular (placeholder pata se sem foto), nome, espécie+raça, nome do tutor com link, última visita, badge de status do agendamento hoje. Botões: Prontuário, Agendar, Editar. Mobile-first 360px. Data attributes: pet_id, tutor_id.
UI·02
Calendário de agendamentos
▼
PROMPT
Bootstrap 5: lista de agendamentos do dia estilo agenda. Cada item: horário em destaque, foto tiny do pet, nome+espécie, serviço, tutor, badge status (agendado=azul, em_andamento=amarelo, concluido=verde, cancelado=vermelho). Botão "Iniciar"/"Concluir" conforme status (fetch). Auto-refresh 60s.
Ato 2 — Tarde · Sistema de PetShop do Zero
BLOCO 1 · 13h30–14h00

Arquitetura do PetShop

Claude projeta a estrutura antes de escrever uma linha.

ARQUITETURA
PROMPT DE ARQUITETURA
Sistema web de PetShop: PHP 7.4+, MySQL 5.7+, Bootstrap 5. Perfil: funcionário/admin com login simples. Gera: lista de páginas com descrição, estrutura de pastas, fluxo de um agendamento do início ao fim, tabelas usadas em cada página.

Fluxo de um agendamento
01Recepcionista busca o pet ou cadastra tutor/pet novo
02Abre modal → seleciona serviço + horário + funcionário
03PHP insere em agendamentos com status "agendado"
04Aparece na agenda do dia com badge azul
05Clica "Iniciar" → status "em_andamento" (badge amarelo)
06Clica "Concluir" → status "concluido" + abre prontuário
07Preenche prontuário (peso, vacinas, observações)
08Opcional: PDV para vender produtos na saída
BLOCO 2 · 14h00–14h45

Pets e Tutores

CRUD completo com busca live, foto e histórico.

FULL-STACK
A2·01
Lista de pets — admin/pets.php
Busca live + modal de cadastro
▼
PROMPT
admin/pets.php em PHP 7.4+ para listar e gerenciar pets: - Busca live (jQuery + fetch) por nome do pet ou tutor - Cards: foto circular, nome, espécie+raça, tutor, último atendimento - Modal de cadastro: busca de tutor existente ou criar novo inline - Campos: nome, espécie (select: cão/gato/pássaro/réptil/outro), raça, nascimento, peso, foto (upload + preview), observações - Editar abre modal preenchido via fetch GET - PHP 7.4+ com PDO, responde JSON
A2·02
Tutores — admin/tutores.php
CRUD com CEP automático
▼
PROMPT
admin/tutores.php PHP 7.4+: - Tabela Bootstrap: nome, email, telefone mascarado, CPF, ações - Modal: nome, email, telefone (máscara jQuery), CPF (validação dígitos), CEP (busca automática via ViaCEP fetch), rua, número, bairro, cidade - Validação server-side PHP + resposta JSON - Listar pets do tutor em collapse no rodapé do modal
BLOCO 3 · 14h45–15h30

Agendamentos e Prontuário

Agenda do dia, status em tempo real e histórico veterinário.

FLUXO COMPLETO
A2·03
Agenda do dia — admin/agendamentos.php
▼
PROMPT
admin/agendamentos.php PHP 7.4+: - Header: data atual + navegação ← dia anterior | próximo → - Timeline: horário, foto do pet, nome+espécie, tutor+tel, serviço, badge status - Botões: Iniciar / Concluir / Cancelar (fetch, atualiza badge sem reload) - Modal novo agendamento: busca de pet (live), select de serviço+funcionário, datetime - Auto-refresh 60s com contador regressivo - Totais do dia por status no header
A2·04
Prontuário — admin/prontuario.php
▼
PROMPT
admin/prontuario.php PHP 7.4+: - Header: foto do pet, nome, espécie, raça, idade calculada, peso atual, tutor - Timeline de atendimentos: data, descrição, peso, vacinas, medicamentos, próximo retorno - Modal "Novo Registro": data, descrição, vacinas (checkboxes), medicamentos, peso atual, próximo retorno - PHP 7.4+ PDO, salva e retorna JSON
BLOCO 4 · 15h30–16h30

Loja, PDV e Dashboard

Ponto de venda, estoque e métricas — e deploy ao vivo.

FINALIZAÇÃO
A2·05
PDV — admin/vendas.php
▼
PROMPT
admin/vendas.php PHP 7.4+ — PDV simples: - Busca de produto live (fetch), mostra foto, preço e estoque - Lista de itens com quantidade editável e subtotal em tempo real - Campo desconto R$ ou %, forma de pagamento: dinheiro/débito/crédito/PIX - PHP insere vendas + vendas_itens, debita estoque (PDO transaction) - Tela de confirmação com opção window.print()
A2·06
Dashboard — admin/index.php
▼
PROMPT
Dashboard admin/index.php PHP 7.4+: 4 cards: agendamentos hoje, faturamento serviços (R$), faturamento loja (R$), pets com retorno esta semana. Próximos 5 agendamentos do dia com status. Alerta se produto com estoque < 5. Queries: DATE(criado_em) = CURDATE(), SUM, COUNT, GROUP BY.
REFERÊNCIA

Prompts Prontos PHP 7.4+

Templates para usar no Claude no dia a dia.

01
Criar funcionalidade PHP 7.4+
▼
COPIAR
Cria função PHP 7.4+ com PDO para [descreva]. Banco tem: [liste tabelas relevantes com colunas]. Use typed parameters (7.4+) e prepared statements. Retorne [tipo]. Adicione try/catch PDOException. Compatível 7.4–8.2.
02
Debugar erro PHP
▼
COPIAR
Esse código PHP 7.4 retorna este erro: [cole a mensagem] Código: [cole o trecho] O que está errado e como corrigir? Compatível com PHP 7.4+.
03
Query MySQL 5.7+
▼
COPIAR
Gera query MySQL 5.7+ para [descreva]. Tabelas: [liste com colunas relevantes]. Preciso de: [JOINs / GROUP BY / filtro de data]. Verificar compatibilidade com MySQL 5.7.
04
Revisar segurança antes do deploy
▼
COPIAR
Analisa esse código PHP 7.4+ em busca de: SQL Injection (PDO correto?), XSS (htmlspecialchars nos outputs?), dados não validados do $_POST/$_GET, dados não sanitizados no HTML. [cole o código] Liste problemas e corrija cada um.
05
Endpoint AJAX PHP 7.4+
▼
COPIAR
Cria endpoint PHP 7.4+ para fetch (AJAX). Ação: [descreva]. Recebe POST JSON com [campos]. Retorna JSON: {"sucesso": bool, "dados": ..., "mensagem": ""}. Use PDO, valide campos, header Content-Type: application/json.
REFERÊNCIA

Checklist de Deploy

Publicação segura no cPanel com PHP 7.4+.

Pré-publicação
  • Trocar AMBIENTE para "producao" no config.php
  • Verificar PHP ≥ 7.4 no cPanel (PHP Selector ou MultiPHP)
  • Criar banco MySQL no cPanel → Databases
  • Criar usuário MySQL com permissão ALL
  • Exportar SQL local e importar no phpMyAdmin do cPanel
  • Ajustar DB_USER, DB_PASS, DB_NAME no config.php de produção

Upload e configuração
  • Enviar arquivos via File Manager ou FTP
  • Pasta destino: public_html/ ou public_html/petshop/
  • Criar /uploads/pets/ e /uploads/produtos/ com chmod 755

Testes pós-deploy
  • Testar login do admin
  • Cadastrar tutor e pet de teste
  • Criar agendamento e avançar os status
  • Fazer venda no PDV e verificar estoque
  • Upload de foto de pet — verificar que aparece

Segurança
  • .htaccess protegendo pasta /admin/
  • config.php fora da public_html ou bloqueado
  • /uploads/.htaccess com php_flag engine off
💡 VERIFICAR VERSÃO PHP NO SERVIDORCrie phpinfo.php com <?php phpinfo();, acesse pelo browser, confirme versão e delete o arquivo.