Faixa 07 · Modernizado · PHP 8.2, MariaDB, Docker e GitHub Actions

Presentes da Cegonha

O e-commerce do meu TCC, em 2023. O mesmo código, três anos depois.

2023 → 2026o mesmo projeto, duas formas de pensar

A história

Em 2023, o objetivo era fazer funcionar, e funcionava. Em 2026, voltei ao mesmo código com outra pergunta: em quem esse código confia?

Não reescrevi o projeto. Mantive a estrutura original em PHP e mudei a forma de tratar cada entrada: consultas preparadas, senhas com hash, CSRF, preço vindo do banco, pedido e estoque na mesma transação. Depois, Docker e um CI que testa com MariaDB e HTTP de verdade.

A vitrine da loja Presentes da Cegonha, criada em 2023.
A vitrine da loja, como foi criada em 2023.

Em vez de apagar 2023, deixei as duas versões lado a lado: a diferença entre elas é o que eu aprendi.

Trechos reais da tag v1-academico-2023 e da main. Escolha um caso, troque o ano e aperte Tentar.


      

O que muda

Por dentrorestrições, passos e detalhes

O que mudou

  • SQL concatenado → consultas preparadas.
  • Senha em texto puro → password_hash e password_verify.
  • Credenciais no código → variáveis de ambiente.
  • Exclusão por GET → POST com autorização e CSRF.
  • Preço vindo do navegador → preço lido do banco.
  • Pedido e estoque separados → mesma transação.
  • Setup manual → Docker. Sem testes → CI com MariaDB e HTTP.

O que eu ainda faria

  • Limite de tentativas e bloqueio progressivo no login.
  • Recuperação de senha com tokens curtos e de uso único.
  • Política de retenção e exclusão de dados compatível com a LGPD.
  • Cabeçalhos HTTP de segurança e HTTPS obrigatório quando publicado.

São 11 mudanças documentadas lado a lado no README. Parte da estrutura original foi mantida de propósito, para a evolução continuar visível.