Sobre este projeto
it-programming / mobile-development
Aberto
Estou desenvolvendo um app semelhante ao Duolingo, tenho toda a ideia de como vai funcionar, tenho a maioria das telas prontas, tenho parte do BackEnd em funcionamento feito com FireBase.
- Preciso de melhorias no sistema de autenticação de usuário por email, Facebook e Google no FireBase.
- Preciso implantar um sistema de score de forma que fique registrado as pontuações e conquistas no FireBase.
- Preciso de um sistema de requisição das questões que estarão cadastradas no Firebase.
- Preciso do app estruturado em MOBX.
Detalhamento:
- Haverá uma Splash Screen ao iniciar o app que deverá verificar se o usuário esta logado ou não, caso estiver logado, vai para tela inicial, caso não esteja logado, vai para tela de efetuar o login onde ele poderá fazer o login por email, pelo Facebook ou pelo Google, ainda nessa tela poderá criar usuário ou resetar senha (Telas prontas e regra de negócio 90% concluído conforme imagens).
- Na tela de cadastro o usuário deverá colocar o nome o e-mail e uma senha (obrigatório) e poderá colocar tirar uma foto ou selecionar uma imagem(opcional para o usuário), ao se cadastrar, deve se criar um usuário no Firebase e salvar as informações no database como "users" e a imagem(se houver) no storage.
- Na tela principal, o usuário poderá selecionar uma categoria(conforme tela de exemplo pronta) onde será direcionado para um sequencia de questões com 4 alternativas ou questões de verdadeiro ou falso (aleatório) ( requisitado do Firebase aleatoriamente) (10 em sequência).
OBS - Requisição de uma por vez dentre uma lista de varias, ou seja não é para pegar todas as questões (getDocument).
- Ao terminar as 10 questões, uma tela com os pontos deverá ser apresentada, esses pontos devem ser atualizados no FireBase.
- O aplicativo terá um sistema de pontos e conquistas que deve ser acionado quando um dos objetivos forem atingidos.
Pontuações:
overall = jsonScoreUser['overall'],
fire = jsonScoreUser['incêndio'],
firtsAid = jsonScoreUser['primeiro Socorros'],
prevention = jsonScoreUser['prevênção'],
homeCare = jsonScoreUser['cuidados domésticos'],
numberHits = jsonScoreUser['número acertos'],
numberErrors = jsonScoreUser['número erros'],
numberAnswered = jsonScoreUser['número respondidos'],
sequenceHits = jsonScoreUser['sequência acertos'],
numberLikeQuestions = jsonScoreUser['número de questões que gostou'],
numberCommentPost = jsonScoreUser['número postagens que comentou'],
weekendXP = Jsonscoreuser['xp em final de semana'];
obs - esses pontos deve ser codificado com gerenciamento de estado tipo mobx.
Conquistas:
const textChallengeGoalProfile0 = "Ganhe 100 XP";
const textChallengeGoalProfile1 = "Ganhe 300 XP";
const textChallengeGoalProfile2 = "Ganhe 500 XP";
const textChallengeGoalProfile3 = "Ganhe 800 XP";
const textChallengeGoalProfile4 = "Ganhe 1000 XP";
const textChallengeGoalProfile5 = "Ganhe 1000 XP em $textIncendio";
const textChallengeGoalProfile6 = "Ganhe 1000 XP em $textPrimeiroSocorros";
const textChallengeGoalProfile7 = "Ganhe 1000 XP em $textPrevencao";
const textChallengeGoalProfile8 = "Ganhe 1000 XP em $textCuidadosDomesticos";
const textChallengeGoalProfile9 = "Acerte 10 em sequência";
const textChallengeGoalProfile10 = "Consiga 100 XP em cada categoria";
const textChallengeGoalProfile11 = "Complete todas Histórias";
const textChallengeGoalProfile12 = "Comente um pergunta";
const textChallengeGoalProfile13 = "Comente ao menos 10 perguntas";
const textChallengeGoalProfile14 = "Ganhe 100 XP no final de semana";
const textChallengeGoalProfile15 = "Coloque foto no perfil";
const textChallengeGoalProfile16 = "Curta ao menos 5 questoes";
const textChallengeGoalProfile17 = "Complete uma categoria";
const textChallengeGoalProfile18 = "Complete todas categorias";
const textChallengeGoalProfile19 = "Complete tudo de tudo";
OBS - quando a qualquer momento qualquer dessas conquistas forem atingidas, deverá aparecer um ShowDialog ou algo parecido alertando o usuário.
OBS - Boa parte desses códigos já estão implementados (conforme imagens anexas)
OBS - Leia com atenção!!! Entenda o que deve ser feito, pergunte se preciso. Será negativado se desistir do projeto depois de aceito.
Categoria TI e Programação
Subcategoria Programação de Apps para Android, iOS e outros
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Não se aplica
Disponibilidade requerida Conforme necessário
Plataformas exigidas Android
Prazo de Entrega: Não estabelecido
Habilidades necessárias