~/beer-and-code
▪ next event Workshop: Jev na Prática para Devs · 14 Oct · 19h — duração de 2h a 3h, ao vivo via Google Meet save your seat ›
~ / events / open-laravel-week-3a-edicao $ _
Immersion Closed

Open Laravel Week — 3ª Edição

A Open Laravel Week — 3ª Edição foi uma semana de lives ao vivo construindo, do zero, um checkout de e-commerce integrado ao gateway de pagamento do Mercado Pago com Laravel. No primeiro encontro o foco foi 100% modelagem: como pensar as entidades de um e-comm...

Event details
format immersion
when 09—13 Sep 2024
time Semana intensiva
status closed

O primeiro dia da OLW 3ª edição começou sem código na tela. Antes de tocar em Docker ou terminal, os instrutores desenharam no papel toda a modelagem de dados de um checkout de e-commerce integrado ao Mercado Pago — porque, como disseram ao vivo, "uma alteração no papel leva 10 segundos; a mesma alteração no código pronto leva semanas". Só depois de validar esse desenho é que a live migrou para o terminal: clonar o repo, subir o ambiente com Sail, resolver os erros clássicos de instalação e transformar o modelo em migrations, models, enums e factories reais.

Destaques

  • Modelagem em papel primeiro: entidades usuário → endereços (1:N) → pedido → produtos, com pedido funcionando como "carrinho" (user_id e session_id nullable para suportar carrinho sem login).
  • Produto quebrado em SKU + atributos (cor, tamanho) num relacionamento N:N via tabela pivô, pensando em controle de estoque futuro.
  • Cópia deliberada de dados sensíveis a mudança: preço do SKU copiado para order_sku (o preço do pedido não pode variar com o tempo) e endereço copiado inteiro na tabela de shipping (evita entregar no lugar errado se o usuário mudar o endereço depois do pedido pago).
  • Setup do projeto ao vivo com Sail: cp .env.example .env, ./vendor/bin/sail up -d, e resolução na hora de erros reais — APP_KEY ausente (php artisan key:generate), Vite não encontrado (npm install + npm run dev), conexão de banco recusada (apontar DB_HOST para o container certo) e tabela não encontrada (php artisan migrate).
  • Uso de php artisan make:model Nome -m para gerar model e migration juntos, criação de todas as migrations em lote ("esteira de produção") e só depois população campo a campo.
  • foreignId(...)->constrained() explicado na prática: cria a FK e o índice no banco, não só a coluna — melhora performance de JOIN.
  • Enum nativo do PHP 8 usado para status (checkout steps, order status) com métodos custom (getName(), getStyles()) e casts() no model para inserir/ler automaticamente o enum como inteiro no banco; discussão clara sobre quando usar Enum (regra estável, exige deploy pra mudar) vs. tabela (regra de negócio alterada por quem não é dev).
  • Relacionamento belongsToMany com pivot customizada (classe Pivot, não Model) para order_sku, incluindo ->using() e cast de coluna JSON para guardar snapshot do produto no momento da venda.
  • Factories e seeders organizados em classes separadas (um seeder por entidade, chamados via DatabaseSeeder), com uso de has('address') no seeder de usuário para já criar relacionamentos automaticamente.

Profundidade tecnica

A live foi além do "CRUD básico": tratou de decisões que só aparecem em e-commerce real, como por que copiar preço e endereço em vez de só referenciar (snapshot de dados no momento da transação), diferença entre pivot table comum e classe Pivot dedicada, e o motivo prático de sempre usar ID auto-incremento em vez de chave composta. Também mostrou o fluxo de versionamento de banco via migrations (batches, rollback) e reforçou a leitura de mensagens de erro como parte do processo de debug — em vez de pular direto pra pedir ajuda no grupo, a orientação foi sempre ler o que o Laravel já está dizendo na tela.

Faça parte do Clã

Se você curtiu ver modelagem de e-commerce sendo pensada e traduzida em código Laravel ao vivo, isso é só uma amostra do que rola dentro do Clã Beer and Code — encontros técnicos como esse, mentoria direta com quem constrói esse tipo de projeto no dia a dia, e uma comunidade que discute arquitetura, boas práticas e código de verdade. Entre para o Clã Beer and Code e tenha acesso a esse conteúdo e muito mais.

▪ Clã Beer and Code
Join the Clã. Build what matters.

AI Engineering has become a profession, and you learn it by building, not by watching. The Clã Beer and Code is where that happens live, every week: RAG, agents, observability and LLMOps in real projects, next to people already in production. It is paid, it is a subscription, and it is exactly the environment these sessions give you a taste of.

Join the Clã
Meet the Clã Beer and Code
playing