•
2 min de leitura
$MOEDADA

O $MOEDADA é uma plataforma web de duelos de cara ou coroa: um jogador desafia outro, os dois apostam pontos fictícios, a moeda é lançada no servidor rodada a rodada e o resultado alimenta um ranking global. É um projeto individual desenvolvido durante o Técnico em Desenvolvimento de Sistemas do SENAI, da especificação de requisitos à entrega.

Arena de um duelo em andamento

Funcionalidades

  • Contas: cadastro, login e logout, com 1.000 pontos iniciais para cada jogador.
  • CRUD de desafios: criar, listar com busca por adversário e filtro por status, editar e cancelar.
  • Aceite ou recusa do desafio pelo adversário.
  • Duelos de 3, 5 ou 10 rodadas, com aposta de 10 a 1.000 pontos.
  • Arena com lançamento da moeda sem recarregar a página e histórico de rodadas.
  • Apuração automática: os pontos só trocam de dono quando o duelo termina.
  • Ranking global por vitórias e por pontos.

Lista de desafios com filtros e ações por status

Destaques técnicos

  • Sorteio no servidor com random_int(): o navegador só pede o lançamento e exibe o resultado.
  • Consistência sob concorrência: cada lançamento roda numa transação que trava o desafio com SELECT ... FOR UPDATE, e uma chave única impede rodadas duplicadas.
  • Segurança: PDO com prepared statements, token CSRF em todos os formulários e na API, senhas com password_hash(), regeneração da sessão no login e saída escapada contra XSS.
  • Documentação de engenharia: especificação com 19 requisitos funcionais, 16 não funcionais e 18 regras de negócio, arquitetura com 12 decisões registradas, plano com 25 casos de teste e design system próprio.

Stack

  • PHP 7.4+ com PDO
  • MySQL 8
  • Bootstrap 5 com CSS próprio
  • JavaScript (fetch)