Coder Social home page Coder Social logo

proepidesenvolvimento / guardioes-app Goto Github PK

View Code? Open in Web Editor NEW
19.0 4.0 18.0 28.46 MB

Application "Guardiões da Saúde" developed by ProEpi. Available for Android and IOS.

Home Page: https://play.google.com/store/apps/details?id=com.guardioesapp&hl=pt_BR

License: Apache License 2.0

JavaScript 98.71% Starlark 0.06% Java 0.34% Ruby 0.13% Objective-C 0.41% Shell 0.10% Swift 0.24% C 0.02%

guardioes-app's Introduction

Guardiões da Saúde App

Repositório do aplicativo Guardiões da Saúde.

Como baixar a última versão do app

Por enquanto o procedimento funciona apenas para celulares android.

Entre em releases e procure pelo link com uma tag verde chamada 'lastest release'. Ao encontrar, desinstale o aplicativo que já está no seu celular (caso exista) e baixe o arquivo 'app-release.apk'.

Possivelmente essa versão tem bugs que serão consertados no futuro e é instável, ou seja, pode dar erros.

Instalar dependências

$ npm install

Configurando variáveis de ambiente

Crie um arquivo .env na pasta do projeto com as linhas:

API_URL=
ONESIGNAL_APP_ID=
GOOGLE_CLOUD_API_KEY=

O API_URL é a url da sua aplicação rodando no repositório guardioes_api.

Para atualizar as edições no arquivo, basta modificar o import ou executar o comando:

$ npx react-native start --reset-cache

E então, execute o app novamente.

É possível criar configurações diferentes para produção e desenvolvimento com arquivos .env.production e .env.development.

Caso você queira usar o live reload, abra outro terminal e rode o seguinte comando e deixe ele rodando:

npx react-native start

ou para resetar o cache antes de iniciar:

npx react-native start --reset-cache

Executando

$ npx react-native run-android

ou

$ npx react-native run-ios

Caso a sua máquina não possa rodar a aplicação, nesse link tem uma tutorial de como usar seu celular como plataforma para rodar o aplicativo.

Possíveis erros:

Node:

Se certifique que a sua versão do node e do npm estão atualizadas. Neste link você poderá ver as relações entre as versões do node e do npm.

NPM:

O node pode apresentar algumas vulnerabilidades que serão acusadas pelo próprio node ao rodar o comando npm install. Essa vulnerabilidades podem gerar problemas então recomenda-se rodar o comando:

npm audit fix --force

O node também recomenda alguns comandos para consertar as vulnerabilidades.

VS Code:

Um possível erro pode ser relacionado ao VS Code. Ao usar o VS Code para ativar o live reload pelo celular pode dar alguns erros de compatibilidade e por isso recomenda-se o uso do terminal nativo da maquina.

License & copyright

ProEpi, Associação Brasileira de Profissionais de Epidemiologia de Campo

Licensed under the Apache License 2.0.

guardioes-app's People

Contributors

alvesitalo avatar clarice42 avatar dependabot[bot] avatar eduardomdr avatar emanuks avatar fabianaribas avatar gabimsilva avatar gabrieldouurado avatar gsmartins96 avatar guilacerda avatar jonatas1n avatar jps12 avatar proepidev avatar renatobrittoaraujo avatar robsonramon avatar tsrrodrigues avatar viniciuspuerto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

guardioes-app's Issues

Erro de Grafia no "Esqueci a Senha"

Descrição

A palavra "indicado" está escrita de forma errada, está "incado"

Passos para encontrar o erro:

1 - Entrar na página de login.
2 - Solicitar a recuperação de senha.

Captura de Tela 2020-07-09 às 17 08 48

O ícone do avatar está muito grande

O ícone de avatar está muito grande no diário e isto está afetando o aproveitamento de espaço na tela, o calendário está ficando cortado por falta de espaço por conta do tamanho do ícone do avatar. Se ele no diário tivesse metade do tamanho ficaria bem melhor, ele também não está alinhado com o nome da pessoa ( inclusive o sobrenome da pessoa aprece cortado mesmo tendo espaço, seria melhor colocar só o primeiro nome até consertar isso ). No menu lateral o ícone de avatar está muito grande também, metade do tamanho ficaria bom mas na prática no atual estágio do projeto ele é desnecessário no menu lateral, seria melhor aproveitar o espaço para trazer informações uteis. O sobrenome também está aparecendo cortado no menu lateral.

Desabilitar a funcionalidade de poligonos

Descrição
Desabilitar a funcionalidade de visualização de poligonos da aplicação

Tarefas

  • Tirar o botão de visualização de poligonos do mapa

Critério de aceitação

  • A funcionalidade não está mais habilitada no mapa para ser utilizada

Alteração das Variáveis de Localidade no Cadastro

Descrição

Realizar a troca das variáveis de "Local de Residência" e Pais de origem.

Trocar o texto "Pais de origem" do cadastro por "local de Residência"
Trocar a variável de "Pais de Origem" para "Pais de Residência"
Trocar pergunta de "XXX é seu pais de residência?" para "XXXX é seu pais de origem?"

Pontos importantes:
A variável de pais de residência é responsável por setar o app_id, então ela é marcador para sabermos de qual "Aplicativo" o usuário, sintomas, relato, conteúdos...

Caso o usuário selecione algum pais que não tenha um app_id vinculado, a API irá gerar automaticamente um app_id para esse pais.

Critérios de aceite

  • Variáveis trocadas e indo no parâmetro correto para API.

Bug - Nome do usuário e Nome do app na tela inicial

Descrição

Na tela inicial do aplicativo, caso o nome do usuário seja muito grande o nome do aplicativo sobrepõe o mesmo.

Comportamento Esperado

O nome do usuário deverá se encaixar na tela, não sobrepondo nenhum elemento.

Screenshots

image issue #33

Sugestão de Solução

Uma possível solução é pegar apenas o primeiro nome do usuário para colocar em baixo do nome do aplicativo. Deixando a mensagem como: "Olá, <primeiro_nome_do_usuário>"

Troca de Avatar por foto de perfil.

Descrição

Possibilidade do usuário poder selecionar uma foto de sua galeria para ser usada como avatar!

Critérios de aceite

  • Foto ficar salva localmente.
  • Foto aparecer no lugar do avatar.

US02 - Identificador de User em um Grupo

Descrição

Como usuário, eu quero cadastrar uma identificação para que eu seja identificado em um grupo

Critérios de aceite

  • Preencher o campo identification_code em Users;

Caching de ending points mais importantes

Fazer o caching das rotas que são mais usadas no aplicativo

  • Identificar as rotas mais usadas

  • Fazer o caching no serializer da rota

Critério de aceitação

  • Dados cacheados

Cadastrar novos conteudos no servidor

Cadastrar novos conteúdos sobre as dicas

  • Subir os documentos gerados pela equipe de comunicação no servidos

Critério de aceitação

  • Dicas atualizada com novos documentos

Melhorar a pagina inicial do Guardiões

Melhorar a página "Home"do guardiões

  • tem um logo no guardiões no topo da página e depois tem uma mensagem "Agora vc eh um guardião da saude"

  • quando a tela rotacional, perde a estrutura do texto

  • experiencia do usuario na principal pagina do app eh ruim

Habilitar o botao de "esqueci a senha"

Descrição
A funcionalidade esqueci senha já está funcionando na API. O botão precisa estar presente no aplicativo.

Tarefas

  • Alterar o texto de envio

Critérios de aceitação

  • É possível recuperar a senha pelo aplicativo em produção

BUG ao editar campos Raça e Data de Nascimento de Household

Descrição

Ao editar a Data de Nascimento do Household ela não atualiza os dados na tela para o usuário e, se atualiza, atualiza com dados errados. O problema está no formato da data passada a variável de conteúdo do campo.
Ao editar a Raça do household ela não é atualizada na tela para o usuário. O problema está na variável de conteúdo do campo que possuia apenas a opção "Branco". Logo sempre estava nessa opção.

Passo a Passo

Passo a passo para se reproduzir o bug:

  1. Va para "Perfis"
  2. Clique no Household para editar
  3. Atualize o household com os campos citados
  4. Veja o erro

Comportamento Esperado

Deveria exibir as informações corretas para o usuário.

Compartilhar mensagem whatsapp

Funcionalidade para compartilhamento de texto a partir dos guardiões

Tarefas

  • criação do texto de compartilhamento

  • Link do feedback

  • Verificar se o report é linkado com sindrome do Covid

  • Dar opção de compartilhamento pelo wpp

  • Consultar Jonas para coletar informações

Critérios de Aceitação

  • Poder compartilhar report caso seja linkado com sindrome

Melhorias graduais no design

Tarefas

  • Revisar fontes para que fiquem mais harmoniosas

  • Revisar responsividade

Critérios

  • App com as melhorias implementadas assim o deixando mais agradável

Aumentar a diversidade dos avatares - app

Inserir mais possibilidades de avatares para os usuários

  • Colocar avatar de animais brasileiros

Critério de Aceitação

  • Estar disponível para o usuário no app

BUG Problemas variados com mapa

Problemas a se resolver

  • O mapa rederiza os icones com seu tamanho original do arquivo, em celulares com alta resolução, isso faz com que os icones do mapa fiquem muito pequenos.

  • O mapa padrão do IOS é o MapKit, que não aceita configurações de estilo, diferente do Google Maps que aceita. Fazer com que o app em IOS use o mapa do Google Maps.

Filtros para as instituições de ensino.

**Descrição

Fazer com que só apareça na lista de instituições aquelas que pertenceram a UF selecionada pelo usuário, categoria e nivel no momento do cadastro.

Filtros

  • UF
  • Categoria ( Unb, IFB, SED )
  • Nivel de escolaridade (SED)
  • Unidades ( Unb, IFB )
  • RA

Critérios de aceite

  • Renderizar somente a lista de instituições filtradas;

Data picker com erro (iOS)

Descrição

As datas do datapicker no ios desaparecem quando você vai escolher a data de nascimento.

Passo a Passo

Passo a passo para se reproduzir o bug:

  1. Clique em Cadastrar na tela inicial do app (ios)
  2. Clique no picker de birthdate
  3. Algumas datas estarão apagadas

Comportamento Esperado

Descrição do comportamento esperado pela feature desenvolvida.

Screenshots

image

Informações do Desktop:

  • OS: ios
  • Versão do OS: 13.3.1

Segurança web

  • Tirar todas os dados sensíveis que estão no código e colocar como variável de ambiente

Segurança app

Tarefas

  • Retirar os dados sensíveis que estão no código e colocar como variável de ambiente

Critério de aceitação

  • As variáveis de ambiente devem ser registradas em um arquivo específico.

Limitar a quantidade de reports por dia - API

Limitar a quantidade de reports por dia para 2 (1 bom e 1 ruim por dia)

  • verificar se ja tem o limite de reports diários e retornar json de resposta

Critério de Aceitação

  • O usuário não consegue reportar o mesmo sintoma no mesmo dia

Remover a função verifyCOVID de src/components/principal/badReport.js

Descrição

Com a funcionalidade de síndromes não é mais necessário uma função para verificar se os sintomas reportados pelo usuário se encaixam na síndrome gripal. Podemos utilizar a resposta da api para isso. Logo é recomendado retirar essa função e utilizar apenas a resposta da api para um código mais limpo.

Critérios de aceite

  • Todas as funcionalidades que utilizavam a função verifyCOVID estão funcionando perfeitamente apenas utilizando a resposta da api
  • A função verifyCOVID foi apagada
  • A experiência do usuário com os alertas gerados pela função verifyCOVID ainda é a mesma

Informações sobre o mapa

Descrição

Informar ao usuário as informações que são mostradas no mapa, ao acessar a page map dentro do app.

Por exemplo:

  • Os pins que estão amostra são referentes as últimas 12 horas.
  • Pra quê serve o polígono.

US03 - Selecionar Grupo

Descrição

Como usuário, eu quero selecionar um grupo no momento do cadastro para que eu possa gerar mais insights

Critérios de aceite

  • Preencher o campo Group na API;
  • Utilizar o pacote ModalSelector;
  • Herdar os valores de Group de um JSON.

Limitar numero de reports diários

Limitar a quantidade de reports por dia para 2 (1 bom e 1 ruim por dia)

  • Ler a resposta do json e enviar feedback para o usuário

Critério de Aceitação

  • Mostrar o feedback para o usuario se registro, caso o report esteja dentro do limite

  • Indicar que o usuário atingiu o "limite de reports diário"

O tom de laranja não está bom

O tom de laranja no "home" e no "diário" não está combinando com as cores na interface principalmente com o verde que sinaliza saúde. Talvez seja melhor vermelho.

Alterar campo raça e identidade de gênero - app

Alterar o campo de raça de acordo com as categorias do IBGE

  • Verificar as categorias do IBGE

  • Inserir essas categorias tanto no "registro" quanto "editar perfil"

Adicionar outras opçòes de identidade de gênero

  • Mulher Cis / Mulher Trans / Homem Cis / Homem Trans / Não-binárie / Intersexo (verificar opções com o prof Iturri)

Critério de Aceitação

  • No cadastro, conseguir escolher as novas opções e conseguir alterar as opções no "editar perfil"

Implementar de fato a feature do mapa

Tarefas

  • Fazer melhorias de estilo

  • Usar a localização do user como referencia

Critérios

  • Mapa mais agradavel visualmente

  • Numero de pessoas aparecendo no icone do cluster

Integração Continua

Tarefas

  • Configurar o travis para empacotar as versões de teste ( Android ) a cada PR da branch development

Critérios

  • A cada nova atualização na devel ter um novo .apk disponivel

US04-Editar Perfil de Usuário

Descrição

Como usuário, eu quero editar minhas informações cadastrais para corrigir um possível erro

Critérios de aceite

  • Conseguir Visualizar todas as informações;
  • Não ser possível alterar o email;

US01 - Atributos de Localidade

Descrição

Como usuário, eu quero selecionar meu estado e município no momento do cadastro para que eu possa gerar mais insights

Critérios de aceite

  • Preencher os campos state e city em Users na API;
  • Utilizar o pacote ModalSelector;
  • Herdar os valores de state e city de um JSON.

Avatar do usuário default do app

Fixar o avatar do usuário para o default do app

  • Desabilitar a escolha do avatar a partir do gênero

Critério de aceitação

  • Todos os usuários possuem o mesmo avatar

Alert sem conteúdo (erro no login)

Descrição

Quando você erra o email ou a senha no momento de fazer o login aparece uma mensagem de Alert com a descrição "undefined".

Passo a Passo

Passo a passo para se reproduzir o bug:

  1. Clique em Entrar
  2. Erre a senha ou email
  3. aparecerá o alerta indefinido

Comportamento Esperado

O alerta deveria relatar qual foi o erro (Dados incorretos/usuário não existente)

Screenshots

image

Informações do Desktop:

  • OS: ios
  • Versão do OS: 13.3.1

Conta adm

  • Adicionar um before action no controller de registro que faça a validação de quem possa criar um adm seja um outro adm do sistema

Padronizar, componentizar e organizar codebase

Descrição

Este issue descreve problemas com a codebase que podem ser refatorados.

Problemas mapeados:

  • O estilo de código muda de componente para componente.
  • A organização em pastas deixa a desejar, sendo que componentes estão sendo guardados junto à visualizações com nomes poucos descritivos em pastas pouco descritivas.
  • Várias secções de código são reutilizadas em vários componentes diferentes sem necessidade. Os forms por exemplo utilizam um conjunto de funções e views semelhantes e são ótimos candidadatos à componentização.
  • Várias folhas de estilo estão sendo replicadas entre vários componentes sem nenhuma mudança.

Critérios de Aceitação

  • Fixar estilo de código à ser seguido por todos os contribuidores do projeto.
  • Nomear e organizar arquivos e pastas de forma mais descritivas.
  • Componentizar qualquer secção de código usada mais de uma vez.
  • Fazer folhas de estilo gerais, em cada componente seus estilos devem ser apenas do componente.

Letra branca nos campos de input (ios)

Descrição

As letras no ios estão brancas, quase desaparecem quando entram em contraste com o background.

Passo a Passo

Passo a passo para se reproduzir o bug:

  1. Digite qualquer informação em um campo de input
  2. Letra branca

Comportamento Esperado

Ter uma cor que seja possível enxergar.

Screenshots

image

Informações do Desktop:

  • OS: ios
  • Versão do OS: 13.3.1

Degradê azul na interface não está bom

O degradê azul que tem na interface na tela de início, no menu lateral e no fundo não está sendo reproduzindo corretamente ( está parecendo como quando se salva um degradê em um formato de imagem de baixa qualidade ). É melhor substituir por uma cor simples.

Correção na edição de usuário

Descrição

Ao editar usuário ao desmarcar o checkbox 'É integrante de alguma instituição de Ensino?' e confirmar a edição os dados da instituição e nº de identificação não são apagados.

Adicionar farmácias e hospitais no mapa

Descrição

Atualmente na aba Dicas do app temos dois conteúdos chamados Farmácias e Instituições de Saúde. Quando clicados o app redireciona o usuário para o Google Maps onde aparecem as farmácias e/ou hospitais mais próximos. Como o aplicativo já possui um mapa será uma boa feature mostrar essas farmácias e hospitais próximos do usuário no mapa do próprio aplicativo. Uma sugestão seria retirar esses conteúdos da aba Dicas e colocar botões em cima do mapa na aba Mapa da Saúde que, quando o usuário clicasse em cima, aparecesse alguns pins onde há farmácias e/ou hospitais próximos, com um limite de pins retornados, para não sobrecarregar a api.

Critérios de aceite

  • Os conteúdos foram retirados da aba Dicas
  • Há botões no mapa que quando clicados mostram as farmácias e/ou hospitais próximos da localização do usuário
  • A experiência do usuário com essa funcionalidade é intuitiva
  • A API não é sobrecarregada com essa funcionalidade

Problema para gerar relatório

Descrição

O usuário gds-convidado no Kibana não está conseguindo gerar o relatório.

Tarefas

  • Criar uma permissão para usuários convidados conseguirem fazer o download do csv de cada visualização.

Critérios de aceitação

  • Usuário convidado consegue fazer o download dos relatórios

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.