Boa tarde!
O objetivo deste artigo é apresentar ao público uma plataforma em desenvolvimento durante o tempo livre e, ao mesmo tempo, testar como essa plataforma se sai sob o efeito Habr.

Conteúdo
- Descrição da plataforma
- O que está disponível atualmente
- Detalhes técnicos (afinal, estamos no Habr, e é preciso saber honrar isso)
- Links e processos para quem deseja experimentar
- Um pedido de ajuda a todos os interessados
Então, vamos começar!
Quester
Descrição da plataforma
Todos nós amamos quests e diferentes tipos de enigmas. Em um certo momento, percebi que gostaria de ter uma forma simples de criar quests para meus amigos (e não só) em homenagem a algum evento, ou simplesmente por diversão.
Bem, já que tive a sorte de ser desenvolvedor, 'gostaria de ter' definitivamente deve se tornar 'preciso criar'!
Do ponto de vista do usuário, o Quester é composto por 2 partes:
- Um portal para criar e modificar quests
- Um aplicativo para jogar as quests já criadas
Em termos simples — um painel de administração para os criadores e um aplicativo para os jogadores.
Um aspecto crucial e obrigatório para mim é que qualquer um pode criar quests, assim como jogá-las.
Uma quest é, por si só, um conjunto de ações que o jogador deve realizar. A ação pode ser qualquer coisa, desde responder a uma pergunta ou fazer check-in em um determinado ponto, até ações mais complexas como 'fotografar-se com uma lata de Coca-Cola em meio à floresta' ou 'encontrar 10 jogadores completando esta quest'. Tecnicamente, qualquer ação é possível dentro dessa plataforma, a questão é apenas de prioridades e imaginação.
E, claro, estamos falando de uma forma de produto gamificado; portanto, ao final da quest, o jogador deve receber alguma recompensa, seja pontos de jogo dentro da plataforma, um cupom de presente ou um presente real.
E tudo isso é totalmente personalizável pelo criador da quest!
O que já está disponível agora
O projeto está na versão beta, por isso o funcionalidade não é muito ampla (mas ainda assim merece ser mencionada no Habr, não estou tentando mostrar um landing page, mas algo funcional 🙂 )
- Admin. Esta é uma aplicação web onde qualquer um pode criar e publicar uma missão. O conjunto de ações possíveis é atualmente limitado a responder perguntas (com a possibilidade de várias respostas), escanear um código QR e fazer check-in em um determinado local.
- Aplicação. Aqui você pode completar missões criadas por você ou por outros usuários.
- Integração do admin e da aplicação. As missões criadas podem ser compartilhadas na forma de um link ou código QR, que serão compreensíveis e abertos pela aplicação.
Os links serão fornecidos abaixo, mas já quero fazer um aviso — tudo está funcionando em um ambiente de staging, o ambiente de produção ainda não está pronto. Portanto, não se surpreenda com links que têm 'staging' no nome.
Detalhes técnicos
Backend
Microserviços, o único ponto de entrada externo — endpoint GraphQL, Docker, Kubernetes, Node.js e um pouco de Go, MongoDB como base de dados, tudo muito descolado e pronto para alguma conferência moderna.
AdminTool
React, cliente Apollo GraphQL. Nada especialmente interessante, apenas uma aplicação web comum.
Aplicativo
React Native, portanto disponível no Android e iOS. Cliente Apollo GraphQL para trabalhar com dados, nada especialmente interessante ou complicado.
Como testar
Se nada abrir
Tudo está implantado nos servidores Digital Ocean em um datacenter em Londres.
Eu absolutamente esqueci sobre bloqueios na Rússia, portanto é bem provável que os IPs dos meus servidores ainda estejam nas listas de bloqueio.
Peço desculpas a todos que terão que lidar com isso e sinto muito — foi uma falha inesperada da minha parte.
Reitero — toda a plataforma está em desenvolvimento ativo e ainda não pode ser chamada de pronta para produção! Tudo deve funcionar, mas também poderá quebrar sem vergonha e com prazer. Por favor, tenha isso em mente.
Assim, a autenticação do usuário é feita apenas através do Facebook. A razão é bastante simples — facilidade de implementação. Não coleto nenhum dado seu além do e-mail, nome e imagem de perfil. Sobre o GDPR e a possibilidade de excluir sua conta na plataforma, leia abaixo.
- Admin:
- Aplicação:
- Android:
- iOS: funciona muito menos estável do que a versão para Android. Se você decidir tentar, entre em contato diretamente comigo, que eu lhe enviarei o link pessoalmente.
Quaisquer comentários, feedback e críticas são naturalmente bem-vindos, de preferência por e-mail para support@quester-app.io. Você também pode escrever para lá e solicitar a exclusão de todos os seus dados (conforme o GDPR!)
Pedido de ajuda
Se você estiver interessado em algo nesta plataforma, seja no desenvolvimento, na parte comercial ou em qualquer outra coisa — envie um e-mail para mim em nikita@quester-app.io! Terei o prazer de contar mais sobre o projeto, sobre os planos e tudo mais. No momento, o projeto está sendo desenvolvido por mim para meu próprio prazer, mas há muitos planos interessantes e diversificados.
Obrigado pela sua atenção,
nikita@quester-app.io
Fonte: habr.com
