A ideia do projeto era criar um jogo a base de texto com ambiente combinando com o tema de terror onde você resolvia mistérios. Outros aplicativos similares de desvendar mistérios são disponíveis na Play Store como “Duskwood” mas o diferencial que eu queria é que fosse uma experiência colaborativa, onde você poderia entrar em uma sala personalizada com amigos. Cada um receberia mensagens personalizadas e teria habilidades diferentes com um sistema de ‘classes’ para ajudar a desvendar o mistério final, uma experiência multijogador parecida com jogos como ‘Werewolf’/‘Town of Salem’.
O aplicativo foi desenvolvido em Django, o Django Channels ajudaria a transmitir mensagens em tempo real criando um ambiente de comunicação dinâmico e rápido.
Utilizaríamos a máquina virtual do MGC para hospedar a aplicação, que permitiria um ambiente escalável e permitiria recursos dedicados conforme a demanda. Essa função foi implementada.
Poderíamos usar a função de Kubernetes para facilitar a escabilidade automática, se a aplicação crescesse seria possível dividir a aplicação em microserviços, facilitando o gerenciamento de cada um deles.
Seria implementado o armazenamento multimídia com o Object Storage, guardando mensagens, arquivos e imagens dos usuários e do jogo. Similarmente, o Block Storage poderia ser usado para armazenar os dados do banco de dados da aplicação como informações dos usuários. As API Keys com variáveis serviriam para ajudar na autenticação e autorização dos usuários.
Também tivemos ideias de utilizar funções de colaboração em tempo real de documentos como bloco de notas para anotar códigos e outras informações. Essa função não chegou a ser abordada na aplicação.
Tivemos dificuldades na hora de aplicar o Terraform, os erros foram principalmente com a autenticação das chaves SSH da empresa e da API, que foram colocadas incorretamente por erro nosso, ao utilizarmos as chaves da nossa conta individual ao invés da organização, o debug demorou mesmo com a ajuda dos monitores da MagaluCloud. Também demoramos um tempo para nos familiarizarmos com o ambiente em geral, achamos que a plataforma não era tão intuitiva e a documentação não ajudou tanto.