live-trivia.mdx - Iago Bussoletti
EN
../projetos

live-trivia.mdx

Live Trivia

Uma aplicação multiplayer de perguntas e respostas construída em torno de interações em tempo real.

Ajustes finais
2026Desenvolvimento full-stackDeploy em breve

Visão geral

Live Trivia é uma aplicação multiplayer em que um administrador conduz a sessão e jogadores entram pelos próprios dispositivos. A restrição mais importante é coordenação: perguntas, dicas, temporizadores, respostas, presença e pontuação precisam evoluir juntos sem cada cliente inventar sua própria versão do jogo.

O problema

Trivia parece simples até várias pessoas responderem quase ao mesmo tempo, alguém reconectar no meio da rodada, ou um temporizador variar entre dispositivos. A aplicação precisa de uma fonte única de verdade que lide com eventos frequentes e mantenha a interface mobile responsiva.

Arquitetura

O servidor é tratado como autoridade da sala. Eventos dos jogadores fluem para o backend, o estado é atualizado em um lugar, e o LiveView transmite as mudanças visíveis de volta ao navegador.

ÁreaDecisão
Controle da sessãoEstado comandado pelo administrador
Atualizações dos jogadoresEventos e patches do LiveView
Estado compartilhadoModelo de dados no servidor
Suporte mobileControles compactos e layouts responsivos

Decisões técnicas

Phoenix e Elixir deixam espaço para modelagem orientada a processos. Uma sala pode ser pensada como um sistema ativo, não como um conjunto de submissões isoladas de formulário.

Estado atual

O projeto está recebendo ajustes finais antes da publicação dos links de deploy e repositório. O portfólio deixa essas ações ocultas até que a frontmatter tenha URLs reais.

Aprendizados

Interfaces em tempo real melhoram quando a propriedade do estado é muito clara. Quando o servidor é a fonte autoritativa, a UI fica menor, mais fácil de sincronizar e mais fácil de entender sob carga.

Capturas de tela

Controles administrativos de uma rodada ativa
O administrador controla perguntas, dicas, temporizadores e estado da rodada.
Interface mobile do jogador durante uma rodada
Jogadores enviam respostas em seus próprios dispositivos enquanto veem atividade sincronizada.
Tela de resultados e pontuação ao vivo
Pontuações e atualizações de rodada são propagadas aos participantes conectados.