Como foi feito
Página técnica de portfólio. Os números vêm de testes e medições registrados no repositório.
Arquitetura
- API: Django 5.2 LTS + Django REST Framework, PostgreSQL 17, Redis 8, Celery; um processo único conduz as rodadas de Crash e Double.
- Web: Next.js 16, React 19, TypeScript estrito, Tailwind CSS 4. Rodadas ao vivo por SSE, com fallback para polling.
- Contrato OpenAPI gerado do backend e cliente TypeScript gerado a partir dele.
Honestidade verificável
- Sorteios por HMAC-SHA256 com semente comprometida por hash antes da jogada (provably fair); verificador no navegador testado contra o backend, bit a bit.
- RTP do slot calculado de forma exata (510921/532400 = 95,97%) e conferido por simulação do próprio motor em teste automatizado.
- Carteira com movimentos somente-inserção, saldo que nunca fica negativo (constraint + lock de linha) e idempotência contra clique duplo — testada com jogadas concorrentes reais.
- Segredos de rodada (ponto de queda do Crash, minas do Mines) nunca aparecem na API antes do fim.
Limites honestos
- Roda em uma única VPS compartilhada, sem alta disponibilidade.
- Sem revisão jurídica sobre cassino social com créditos fictícios.