Giter VIP home page Giter VIP logo

enegrecer-web's Introduction

Coletivo Enegrecer

Build Status Test Coverage Code Climate

Neste Wiki

Configure seu ambiente

Antes de iniciar o desenvolvimento, você irá precisar configurar o seu ambiente. Abaixo estão os pré-requisitos necessários para desenvolver e/ou executar o projeto.

O Projeto Verdade Seja Dita

O coletivo nacional de Juventude Enegrecer é uma expressão do movimento social negro que luta contra as opressões da sociedade em favor da juventude negra. O projeto se propõe como uma plataforma para registrar denúncias de crimes raciais, a fim de se coletar dados para embasar e guiar ações e políticas antirracismo.

O Web App, Verdade Seja Dita, implementado neste respositório é uma das interfaces para essa plataforma, onde o usuário pode se informar mais a respeito e relatar um crime de racismos ou injúria.

Configurações

Primeiro clone o repositório:

git clone https://github.com/Enegrecer/enegrecer-web.git

Em seguida entre na pasta do projeto clonado e rode yarn install para baixar todas as dependencias:

cd enegrecer-web
yarn install

Ou você pode usar Docker localmente, antes de executar qualquer comando construa a imagem com:

docker build -t enegrecer .

Rodando o projeto

Para subir um servidor local para desenvolvimento rode:

yarn start

Usando Docker localmente:

docker run --rm -p 3000:3000 -v "$PWD":/usr/src/app -w /usr/src/app -it enegrecer

Isso irá subir um servidor com o aplicativo rodando em http://localhost:3000. Quando os arquivos dentro de src são alterados, automaticamente o código é recompilado e o aplicativo recarregado com as alterações.

Testes

O projeto está configurado para que o desenvolvimento seja feito em TDD, e assim o script:

yarn test

Usando Docker localmente:

docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app -it enegrecer yarn test-local

Com Docker para executar testes e lint:

docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app -it enegrecer yarn all-tests-local

Desta forma serão executados todos os arquivos de teste (arquivos .test.js) e entrar em modo de watch. De forma que toda vez que arquivos são alterados, sejam eles testes ou não, os testes que possuem qualquer relação com tal arquivo são executados novamente.

Por exemplo, se o componente Signin for alterado, todos os testes de Signin.test.js serão executados, mas também os testes de Login.test.js, pois o componente de Login utiliza, ou depende, do componete de Signin, e assim por diante. O mesmo é válido para alterações em arquivos de teste.

O projeto está utilizando o Jest como framework de testes. O jest oferece praticamente tudo que é necessário para testes no projeto, definindo a sintaxe de escrita dos mesmos, provendo mocks, e atuando como test runner. Adicionalmente, o enzyme é utilizado como facilitador dos testes de componentes do React.

Testes Funcionais

Os testes funcionais E2E foram desenvolvidos utilizando Protractor, Page Objects e Cucumber. Para execução é necessário seguir os seguintes passos:

  • Para executar os testes funcionais a aplicação deve estar rodando local, veja a sessão Rodando o projeto para mais detalhes.

  • Após ter a aplicação rodando, basta executar o comando:

yarn test:functional

Lint

O eslint é utilizado como linter do projeto. É recomendado que um plugin do mesmo seja utilizado em seu editor de preferência durante o desenvolvimento. Além disso é possível executar o lint de todo o projeto rodando o comando:

yarn lint

E existe também o modo de watch que pode ser rodado com:

yarn watch-lint

Build

O comando yarn build roda o script de build, responsável por preparar o projeto para um deploy em produção. Os arquivos passam por um processo de minificação e bundling. Gerando arquivos mais concisos, e mais leves. Todo o resultado do script aparece na pasta build que será gerada dentro do projeto.

Deploy

Atualmente o projeto está rodando em https://enegrecer-e37b3.firebaseapp.com/, sendo o Firebase o host e também responsável pelo controle de usuários e banco de dados da aplicação. A atualização ocorre automaticamente através do Travis-CI, que monitora por modificações na branch master deste repositório, e executa passos de lint, testes e deploy para o Firebase.

Tech stack

Na nossa stack temos:

  • React para criação do UI em componentes.
  • Redux para controle do estado da aplicação.
  • Redux-Saga para gerenciamento de chamadas assíncronas dentro do redux.
  • Babel como transpilador que permite que tais componentes sejam escritos utilizando ES8.
  • Webpack para servidor local de desenvolvimento, compilação, e bundling do código.
  • Jest como framework de testes.
  • Enzyme para auxiliar nos testes.
  • Protractor para testes funcionais E2E.
  • Cucumber como framework para suportar o BDD.
  • Eslint como ferramenta de linter.
  • Firebase Como hosting e back-end mantendo controle de dados, usuários, etc.
  • Travis-CI para criar nosso CI, executar testes e build automaticamente.
  • Code Climate para cobertura de código e análise estática.
  • Materialize Como framework CSS responsivo.

Como Contribuir

Para contribuir no projeto dê uma espiada no nosso Guia de Contribuição.

Mais Informações

Para mais informações, acesse a nossa wiki :).

Ou junte-se ao nosso espaço no Gitter.

Nós usamos o waffle para visualizar e organizar nossas issues.

enegrecer-web's People

Contributors

alissonpereiraneves avatar aludmila-tw avatar brunoquaresma avatar caroltozzi avatar danielfaria avatar erikaya avatar gabrielavmattos-zz avatar godoy avatar guilhermecorsino avatar hsbrighenti avatar idluerce avatar izaeleffemberg avatar jacksonsmith avatar joao-f-medeiros avatar kamcarvalho avatar karlafalcao avatar lcsouzabrazil avatar leandro-vicente avatar lmontene-tw avatar lorena avatar mairaaraujo avatar paulasf avatar paulogama avatar paulogamatw avatar pedropenna avatar romendes avatar roselmamendes avatar sergiosilvajr avatar tsoutotw avatar wlegolas avatar

Stargazers

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

Watchers

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

enegrecer-web's Issues

Registrar Agressores

Eu, Joana Informada,

desejo informar quem é a pessoa agressora,

para registrar uma denúncia de racismo.

BLOQUEADO - Aguardando conclusão do card 37, pois será uma replicação deste card com poucas mudanças


Critérios de Sucesso

AC01 - Informar pessoa agressora identificada em uma denúncia
Dado que eu estou informando uma denúncia
E tenho a informação de pessoa agressora para reportar
E eu possuo o nome da pessoa agressora
Quando eu selecionar a opção de inserir uma pessoa agressora
E selecionar a opção “Pessoa agressora identificada”.
Então eu preencho as informações da pessoa agressora
"Nome" (obrigatório) - texto simples com no máximo 40 caracteres
"Gênero" (obrigatório) - opções para seleção [Feminino, Masculino, Não-Binário, Agênero]

"Cor ou Raça" (obrigatório) - opções para seleção [branca, preta, amarela, parda ou indígena]

"Data de Nascimento" (não obrigatório), somente datas válidas após 1900, menor que a data atual.

”Residência" (não obrigatório),
*"Estado" (obrigatório),
*"Telefone" (não obrigatório)

"email" (não obrigatório)

”Mais Informações” (não obrigatório), texto com múltiplas linhas.

AC02 - Inserir pessoa agressora não identificada em uma denúncia
Dado que eu estou informando uma denúncia
E tenho a informação de pessoa agressora para reportar
E eu possuo o nome da pessoa agressora
Quando eu selecionar a opção de inserir uma pessoa agressora
E não selecionar a opção “Pessoa agressora identificada”
Então eu preencho as informações da pessoa agressora
"Nome" (não obrigatório) - texto simples com no máximo 40 caracteres

"Gênero" (não obrigatório) - opções para seleção [Feminino, Masculino, Não-Binário, Agênero]

"Cor ou Raça" (não obrigatório) - opções para seleção [branca, preta, amarela, parda ou indígena]

"Data de Nascimento" (não obrigatório), somente datas válidas após 1900, menor que a data atual.

"Residência" (não obrigatório), local picker
*"Telefone" (não obrigatório)
*"email" (não obrigatório)

"Mais Informações” (obrigatório), texto com múltiplas linhas.

AC03 - Concluir denúncia sem informar os dados obrigatórios
Dado que eu preenchi as informações da pessoa agressora
E eu não preenchi as informações obrigatórias
Quando escolher a opção “Concluir Denúncia“
Então a mensagem de erro “Os campos obrigatórios não foram preenchidos” é apresentada
E os campos não preenchidos serão destacados em vermelho
E a denúncia não será registrada

AC04 - Concluir denúncia
Dado que eu preenchi as informações da pessoa agressora
E eu preenchi as informações obrigatórias
Quando escolher a opção “Concluir Denúncia“
Então a denúncia será registrada

Manter pessoa autenticada na página

Validação de Login para acessar denúncia

EU, Joana Informada,
PRECISO continuar autenticada na página do Enegrecer,
PARA realizar várias denúncias sem a necessidade de um novo login.

Notas:
No momento, quando o usuário faz login não existe mensagem ou redirecionamento para mostrar se o login foi efetuado com sucesso ou não. Esta implementação é temporária até que o redirecionamento esteja funcionando totalmente.

Caminho Feliz =D
Ver Página de Login -> Inserir informações de login (e-mail e senha) -> Selecionar "continuar" -> Acesso permitido -> Fechar o browser -> Abrir novamente o browser -> Sessão ainda não expirou -> Continua autenticada.


Critérios de Sucesso

*AC01 * Continuar autenticada depois de fechar e abrir o browser
Dado que autentiquei na página do Enegrecer,
quando fechar e abrir o browser,
então devo continuar acessando as páginas que requerem autenticação, enquanto não expirar.

*AC02 * Sucesso no Login
Dado que digitei o "e-mail" e "senha" corretos,
quando selecionar a opção "continuar",
então deverei ser informada que consegui ser autenticada "Sucesso".

*AC03 * Falha no Login (e-mail ou senha erradas)
Dado que eu digitei o "e-mail" incorreto ou a senha "incorreta",
quando selecionar a opção "continuar",
então NÃO sou levada para uma página diferente, e verei a mensagem "E-mail ou senha incorretos."

*AC04 * Continuar para ser autenticada
Dado que estou vendo a página para realizar login,
quando inserir as informações de e-mail e senha,
então devo poder selecionar a opção "continuar".

Modificação do layout

Modificar cores das paginas do site, que ainda não tem design definido, para manter o padrão de cores da home.

Criar Denúncia

Para registrar um relato de uma denúncia
Como um denunciante
Gostaria de conseguir registrar os detalhes do fato ocorrido

Campos

  • Categoria: obrigatório; combo [Injúria Racial e Racismo]
  • Detalhamento: obrigatório; texto com múltiplas linhas;
  • Data e hora do ocorrido: obrigatório; datetime picker

Critérios de Aceite
AC01 - Formulário
Dado um usuário logado na tela principal
Quando clico em "Denuncie aqui"
Então vejo um formulário com a categoria, o detalhamento, data e hora do ocorrido

AC02 - Status
Dado que usuário preencheu todos campos obrigatórios
Quando clico em "Salvar"
Então a denúncia é salva com o status "Nova"

AC03 - Data e Hora atual
Dado que usuário preencheu todos campos obrigatórios
Quando clico em "Salvar"
Então a denúncia é salva com a data e hora atual

AC04 - Denunciante
Dado que usuário preencheu todos campos obrigatórios
Quando clico em "Salvar"
Então a denúncia é salva com o usuário logado registrado como o denunciante

Travis - Configurar para não acessar o CodeClimate quando é pull request

Para acessar o CodeClimate no build o Travis utiliza variavéis configuradas internamente no mesmo, problema é que por questão de segurança estas variavéis não estão disponíveis quando o committer não é owner ou admin.Conforme descrito na documentação: https://docs.travis-ci.com/user/pull-requests#Pull-Requests-and-Security-Restrictions.

Isto leva ao seguinte problema: qualquer pessoa que não owner ou admin que terá seu build quebrado porque o travis não conseguirá acessar as variavéis para acesso do Code.

Como resolução do problema será retirado o acesso ao CodeClimate no pull request, isto não trará impacto porque o CodeClimate está configurando somente para o branch master.Para as demais operações a pipeline continuará a mesma.

Será criada uma outra issue para avaliar o CodeClimate.

Evitar push nos arquivos de configuração das IDEs

Uma vez que diferentes pessoas utilizam diferentes editores de texto, sugiro a adição do .editorconfig para evitar conflitos entre os diversos editores e para alinhar ainda mais o code style aplicado ao projeto.

É impnrescindivel que todos verifiquem se seus editores já implementam e suportam o EditorConfig. Caso não suportem nativamente, é necessário que vocês instalem uma extensão que habilita essa verificação. A lista dos editores que já possuem a ferramenta nativa, a lista de plugins para os demais editores, além de outras informações úteis podem ser encontradas em http://editorconfig.org/.

Validação de Login para acessar denúncia

Validação de Login para acessar denúncia

EU, Joana Informada,
QUERO conseguir autenticar minhas informações acesso ao site,
PARA fazer uma denúncia.

Notas:
No momento, quando o usuário faz login não existe mensagem ou redirecionamento para mostrar se o login foi efetuado com sucesso ou não. A ideia é que toda vez que isso ocorrer a pessoa seja redirecionada para a página de autenticação.

Caminho Feliz =D
Ver Home - > Selecionar "Denunciar Racismo" -> Ver Página de Login -> Inserir dados de login (e-mail e senha) -> Selecionar "continuar" -> Acesso permitido, ver página de denunciar.


Critérios de Sucesso

*AC01 * Autenticar para denunciar
Dado que estava vendo a Home e escolhi a opção "Denunciar racismo",
quando não estiver autenticada,
então devo ver a página de autenticação que me solicita as informações de login e senha.

*AC2 * Acesso por URL sem estar autenticada
Dado que estou acessando a página de "denunciar racismo" através da "URL" e não estou autenticada,
quando a página referente à "URL" necessitar de autenticação,
então sou levada para a página de login.

Redirecionamento para página de Login

Redirecionamento para página de Login

Eu, Joana Informada,
quero ver uma página que necessita de autenticação,
para inserir uma nova denúncia, ou acompanhar denúncia, ou ver minhas informações pessoais.

Notas:
Algumas rotas (ex.: a que leva para a tela de criação de denúncia) precisam que o usuário esteja logado. Para tal precisamos no arquivo onde está nosso roteamento implementar uma função que verifique o usuário logado, e caso ele não esteja logado redirecione para a página de autenticação.


Critérios de Sucesso

  • AC1 - Pessoa não está autenticada
    Dado que não fiz login com meus dados de e-mail e senha,
    quando tento acessar uma página que requer autenticação, neste caso, a página de denúncia,
    então sou levada para a página de login.

  • AC2 - Pessoa já está autenticada
    Dado que já fiz login com meus dados de e-mail e senha, e a sessão não está expirada,
    quando tento acessar uma página que requer autenticação, neste caso, a página de denúncia,
    então sou levada para a página que desejo acessar.

  • AC3 - Acesso por URL sem estar autenticada
    Dado que estou acessando a página de "denunciar racismo" através da "URL" e não estou autenticada,
    quando a página referente à "URL" necessitar de autenticação,
    então sou levada para a página de login.

UX - Tela inicial

Validar arquitetura das informações necessárias para a primeira página do Verdade Seja Dita a fim de motivar usuários de diferentes perfis a registrar uma denúncia

Registrar Testemunhas

Eu, Joana Informada,
desejo informar sobre uma pessoa que foi TESTEMUNHA,
para registrar uma denúncia de racismo.

Notas:

  • Buscar código do card 37, pois será uma replicação deste card com poucas mudanças.

  • Nas mensagens, o que pensamos foi:

    • A. Se a mensagem só traz sugestão de preenchimento de campos NÃO obrigatórios, Joana consegue concluir a denúncia selecionando a opção disponível
      para avançar (por exemplo, OK)
  • B. Se a mensagem traz solicitação de preenchimento de campos NÃO obrigatórios, e também de campos obrigatórios, Joana não consegue concluir a denúncia.

  • Não é obrigatório inserir testemunhas, mas devemos influenciar a pessoa denunciante a incluir algum detalhe. Ao tentar concluir a denúncia sem testemunhas a pessoa será questionada se quer mesmo concluir sem as informações da testemunha, porém ela tem a opção de concluir sem testemunhas.

Pare esta primeira Onda será possível inserir apenas UMA pessoa testemunha.


Critérios de Sucesso

  • AC01 - Sei as informações sobre a pessoa testemunha
    Dado que sei informações sobre uma testemunha da situação que estou denunciando,
    Quando vejo na tela a parte em que devo incluir informações sobre a pessoa que foi testemunha,
    Então preencho as informações sobre a testemunha:
    *"Nome" (não obrigatório) - texto simples com no máximo 40 caracteres,
    *"Cor ou Raça" (não obrigatório) - opções para seleção [preta, parda, branca, indígena, amarela],
    *"Gênero" (não obrigatório) - É uma caixa de texto simples de 15 caracteres, opções de sugestão placeholder fonte de cor clara [Feminino, Masculino, Não-Binário, Agênero...]
    *"Data de Nascimento" (não obrigatório), somente datas válidas após 1900, menor que a data atual.
    *"Telefone" (não obrigatório),
    *"Por favor, descreva aqui características da testemunha." (não obrigatório), texto com múltiplas linhas ( sugestão de 255 caracters), e placeholder fonte de cor clara ["Era uma mulher branca, estava próxima de mim, tinha com cabelo preto e curto, com camisa de uma escola..."]

  • AC02 - Denúncia concluída sem pessoa testemunha
    Dado que não sei as informações da pessoa testemunha,
    Quando já preenchi todas as outras informações necessárias para uma denúncia e seleciono a opção para "Concluir denúncia",
    Então sou informada que "Você não nos deu informações sobre uma testemunha. A denúncia terá maior valor com esses dados. Você pode cancelar e inserir essas informações. ", e posso escolher a opção "OK" ou "Cancelar.".

  • AC03 - Completar denúncia com informações da pessoa testemunha
    Dado que tinha selecionado a opção "Concluir Denúncia", mas desejo completar a denúncia com informações da pessoas testemunha,
    Quando seleciono a opção para voltar para inserir mais informações,
    Então continuo vendo o formulário onde devo inserir as informações de uma pessoa que foi testemunha e posso incluir essas informações.

Refatoração: Separar lógica do Store do index.js de entry point

Eu Colaborador,
preciso remover a lógica de Store do index.js
para criar um código mais coeso e menos acoplado

notas:
As informações de criação do Store do Redux e todos os outros middlewares se encontram junto do código do index.js que é o entry point da applicação. Isso deixa o código pouco coeso e muito acoplado com outras funções e partes do código, sendo um ponto que pode se tornar muito desorganizado com o possível crescimento do projeto.

E-mail permitido para denunciar

Card revisado por: Izael, Luciana, Juba e Priscila - 02/01/18
Card revisado por: Marcella, Luciana, Juba e Priscila - 27/02/18

Validação de E-mail

EU, Joana Informada,
PRECISO ter um email válido,
PARA registrar uma denúncia.

Notas:
A pessoa preenche os dados da denúncia. Após inserir o e-mail a pessoa deve realizar a ação de enviar, e então a página atualiza explicando que falta apenas a validação para fazer a denúncia.
Esta ordem de ações é necessária para previnir o abandono (não validação do e-mail) da denúncia pq o fluxo de autenticação será quebrado .

A validação do email da pessoa só deve ocorrer apenas uma vez para o mesmo email.


Critérios de Sucesso

AC01
Dado que necessito fazer uma denúncia,
quando insiro dados da denúncia e meu email.
então ao finalizar, espero que uma mensagem de validação chegue no meu email.

AC02
Dado que recebi um email de validação,
quando realizo a validação,
então tenho a confirmação de que minha denuncia foi registrada.

AC03
Dado que recebi um email de validação,
quando não realizo a validação,
então não tenho a confirmação de que minha denúncia foi registrada.

Refatoração - Adequar o fluxo de criação de denuncia usando o Redux

Ao cadastrar uma denuncia o container passa uma função para o Saga, que é chamada para que o usuário seja direcionado para a home.

isto é uma violação de responsabilidade, a refatoração proposta visa os seguintes pontos:

  • O componente de container vai parar de uma função de redirecionamento para o Saga.

  • Ao finalizar o cadastro com sucesso o Saga já insere uma ação de denuncia cadastrada com sucesso, com o id da mesma.Será criado um reducer que responde a esta ação criando no estado (state) a propriedade de denuncia cadastrada com sucesso.

  • O componente de home quando receber este estado fará o direcionamento cabível.

Refatoração do arquivo src/index.js

  • Descrição da mudança
    • Separar as responsabilidades.
  • Motivações:
    - Deixar o código mais coeso.

-Possivéis Efeitos:
- Quebra da aplicação uma vez que o ponto de entrada da aplicação.

Captcha

Desenvolver captcha para registro de denúncia

Traduzir o código fonte

Metade do código fonte está em inglês e a outra metade em português, é necessário fazer a tradução do código para português, unificando a nossa linguagem.
Existe a necessidade de fazer essa alteração tanto no banco firebase quanto no código fonte.

Criar relação de pessoa denunciante com o login de cadastro

Card revisado por Priscila e Daniel - 27/12
Card revisado por Izael, Juba, Luciana e Priscila - 02/01

Eu, Joana Informada,
preciso inserir minhas informações pessoais,
para me identificar como usuária do site (login), estas informações serão utilizadas como registro de denunciante em uma denúncia de racismo ou injúria.

Notas (apenas para manter contexto do que conversamos):

  • Por meio do login na aplicação se a pessoa for registrar uma denúncia ela automaticamente será a pessoa denunciante. Não faz sentido termos um cadastro separado para pessoas denunciantes uma vez que podemos utilizar os dados do login.
  • Quando a pessoa denunciante se declarar como vítima já deverá vir preenchido os campos Nome, Sobrenome e email conforme login do usuário e os demais campos para detalhamento da vítima serão exibidos de acordo com o card 37.
  • Se a pessoa for somente denunciante, não é necessário fornecer mais dados uma vez que o login já foi registrado com nome e email válido.

Critérios de Sucesso

Dados que deverão constar no cadastro de login:
*"Nome" (obrigatório) - texto simples com no máximo 40 caracteres,
*"Data de Nascimento" *(não obrigatório), somente datas válidas após 1900, menor que a data atual.
*"Endereço" - texto simples com no máximo 255 caracteres (não obrigatório),
*"email" formato válido (obrigatório),
*"Telefone" formato 10 a 11 dígitos (não obrigatório).

  • AC01 - Informações da pessoa denunciante
    Dado que estou iniciando uma denúncia de injuria racial ou racismo,
    Quando seleciono que sou a vítima,
    Então os dados de login serão preenchidos e as demais informações para registro de vítima serão exibidos.

  • AC02
    Dado que eu insiro um endereço de email inválido ( todos que não atendem ao padrão de [email protected])
    Quando tento finalizar o cadastro,
    Então recebo uma mensagem alertando a importância e obrigatoriedade de informar um email válido e meu cadastro não é realizado.

*"Observação:" Os campos data de nascimento, endereço e telefone deverão aparecer na tela de "Registre-se".

Code Climate está considerando os arquivos de teste

Descrição:

Code Climate está considerando os arquivos de testes (.test.js) na avaliação de código.

Passos para reproduzir

  • Push, pull request, merge acionam o CodeClimate.

Comportamento esperado:

O Code Climate não pode considerar os arquivos (.test.js) de testes na avaliação de código.

Comportamento atual:

O Code Climate considera os arquivos de teste na avaliação de código.

Qual frequência que isso acontece:

Push, pull request, merge.

Versões:

N/A

Informação adicional:

N/A

10/01/2018 - Pendências Técnicas

Sempre criar cards para pendências técnicas ou requisitos crossfuncionais que forem identificadas e levar o assunto para as dailys do time.

Melhorias Card 37

Pareando Juba e Mila

  • Remover a opção indígena de raça da vítima
  • Não permitir números e acentos no campo nome
  • Placeholder na cor cinza clara
  • Inserir texto explicativo para o campo informando qual a qtd limite de caracters (No máximo XY caracters)
  • Texto da descrição fica estranho quando a pessoa denunciante digitou todas as informações menos a única obrigatória que é a descrição.
  • Clicar e sumir o texto no placeholder.
  • Solucionar erro na máscara da data de nascimento do formulário Informações da vítima.
    erro card37.png

Ver próximos passos

Eu, Joana Informada,
desejo saber quais os próximos passos após concluir uma denuncia,
para saber se há algo mais a fazer para ter amparo em órgãos judiciais.

Notas:

  • A ideia é que após finalizar/concluir/enviar a denúncia, a pessoa denunciante veja também informações que a ajude a entender se existe algo mais a ser feito a título judicial, registrar ocorrência policial, recorrer ao Ministério Público, etc.
  • Também deverá ser exibida uma mensagem de confirmação do registro da denúncia e um agradecimento.

É uma regra que fica pronta para informar quais são os próximos passo após fazer uma denúncia no site. Ainda não sabemos quais são as situações, precisamos levantar com Jonathan, do Enegrecer.
Muitas pessoas que fazem uma denúncia não sabem o que fazer na vida real, para que essa denúncia ande da forma como tem que ser para chegar ao ministério público. Por exemplo, alguém entra no site e faz uma denúncia de racismo, sem boletim de ocorrência, então os próximos passos tem que informar a pessoa denunciante o que ela tem que fazer, ou seja, procurar a delegacia de crimes raciais mais próximas, registrar uma queixa de racismo, se o delegado tentar te convencer que você não sofreu racismo, você pode fazer x, y e z..., uma vez que você conseguiu registrar o boletim de ocorrência para que esse processo chegue ao ministério público você tem que fazer a, b e c.

A pessoa que faz a denúncia recebe informações na tela.


  • AC1 - Texto estático na tela

10/01/2018 - Deploy

Tornar todos os colaboradores owners no github para que possam efetuar deploys.

10/01/2018 - Pull Requests

O time tem um deadline de 24hrs para aprovar/reprovar pull requests.

Todos os pull requests deverão passar primeiramente pelo time do projeto. Caso seja necessário, a revisão do pull request será encaminhada para outro revisor externo ao time.

Os colaboradores externos não tem deadlines para aprovar/reprovar pull requests, mas deverão ser conscientizados a respeito da urgência e necessidade priorizada desta atividade.

Todos os colaboradores devem se inscrever no Gitter do Enegrecer e comunicar sobre os pull requests e demais assuntos relevantes ao projeto.

Informações da Vítima que é a Denunciante

CARD INCOMPLETO

Eu, Joana Informada,
desejo fazer uma denúncia,
porque fui vítima de racismo/injúria racial.

Notas

BLOQUEADO - Aguardando conclusão do card 75, pois algumas informações serão preenchidas a partir das informações que foram inseridas na pessoa denunciante.

  1. O padrão é a pessoa denunciante não ser a vítima, ela precisa escolher a opção que informa que ela é a vítima.
  2. Conheço a vítima? - O valor desta pergunta está em saber apenas se a pessoa denunciante tem qualquer tipo de relação com a pessoa vítima, não restringe preenchimento de campos.
  3. Se o crime for racismo, então não tem uma vítima específica, porém, ainda assim, a pessoa pode dizer que é a vítima, pois as denúncias serão analisadas manualmente.
  4. Existe dependência das informações de cadastro da pessoa que fez login.

Critérios de Sucesso

  • AC01 - Informações sobre a pessoa vítima
    Dado que estou preenchendo as informações para fazer uma denúncia,
    Quando vejo na tela a parte em que devo informar e identificar quem é a vítima,
    Então informo que "Sou a vítima." (obrigatório), e então minhas informações são exibidas nos campos onde aparecem as informações de pessoa denunciante.

Página inicial do Enegrecer

screen_shot_2017-08-31_at_4 10 42_pm

screen_shot_2017-08-29_at_4 31 24_pm

Eu, Joana Informada, quero poder ver a página Enegrecer e usar a opção para denunciar racismo, pois procuro uma alternativa para tornar público o racismo que sofri.

Notas:

Pensamos em exibir a tela inicial com o botão vermelho escrito "Denunciar Racismo", como na imagem em anexo. O botão redireciona para outra página, ainda não definida nesta estória.

Também serão exibidas informações básicas (textos definitivos ainda não informados), e no rodapé (imagem em anexo) os links de redes sociais.
Layout no Zeplin.


Critérios de Aceite

*AC01 *
Dado que eu entrei na tela inicial do Verdade Seja Dita,
quando visualizar a tela que foi exibida
então verei a opção para "denunciar racismo"

AC02
Dado que visualizei a opção para denunciar
quando escolher a opção para "Denunciar racismo"
então sairei da tela inicial

AC03

Dado que eu entrei na tela inicial do Verdade Seja Dita,
quando visualizar a tela que foi exibida
então verei o texto explicativo da página.

AC04

Dado que eu entrei na tela inicial do Verdade Seja Dita,
quando visualizar a tela que foi exibida
então verei a opção de "Entrar/registrar" para me autenticar na página.

AC06

Dado que eu entrei na tela inicial do Verdade Seja Dita ,
quando visualizar a tela que foi exibida
então verei a imagem de fundo da página.

AC07

Dado que eu entrei na tela inicial do Verdade Seja Dita,
quando visualizar a tela que foi exibida
então verei o título da página Verdade Seja Dita.

AC08

Dado que eu entrei na tela inicial do Verdade Seja Dita,
quando visualizar a tela que foi exibida,
então no fim da página, verei o rodapé com a informação "Siga-nos", contendo os ícones para redes sociais do Enegrecer (Facebook, Twitter e Instagram).

Rodapé da página inicial com Links para Redes Sociais

rodape.png

Eu, Joana Informada,
quero acessar o Facebook do Verdade Seja Dita ,
pois desejo acompanhar as publicações do Coletivo sobre luta conta o racismo no Brasil.

Notas:
Link do Facebook que pode ser modificado depois: https://pt-br.facebook.com/Enegrecer/

Associar o link da página do Enegrecer no Facebook ao ícone associado ao Facebook, no rodapé do site. Ícones de Redes Sociais que não tiverem redes sociais correspondentes não devem ser exibidos.

O coletivo só tem Facebook e um website.


Critérios de Aceite

  • AC01 - Ícone associado a link correto e que está funcionando.
    Dado que vejo no rodapé do site um ícone de Facebook,
    quando seleciono o ícone,
    então em uma nova página é aberta a página do Facebook correspondente a <página do Coletivo Enegrecer>.

  • AC02 - Exibir apenas os ícones que tem rede social associada (se não tiver rede social não deve exibir ícone).
    Dado que vejo no rodapé do site um ícone de Rede Social,
    quando seleciono o ícone,
    então uma nova aba é aberta com a rede social associada à imagem do ícone.

  • AC03 - Ícones ajustados no centro da página
    Dado que estou vendo o rodapé da página,
    quando vejo ícones de acesso a Redes Sociais,
    então os vejo alinhados no centro do rodapé, um após o outro, independentemente da quantidade de ícones.

Informações da Vítima que não é denunciante

Eu, Joana Informada,
desejo inserir as informações de uma pessoa vítima,
para registrar uma denúncia de racismo/injúria racial.

Notas

  1. O padrão é a pessoa denunciante não ser a vítima.
  2. Conheço a vítima? - O valor desta pergunta está em saber apenas se a pessoa denunciante tem qualquer tipo de relação com a pessoa vítima, não restringe preenchimento de campos.
  3. Se o crime for racismo, então não tem uma vítima específica.
  4. Concordamos que a submissão das informações será feita em etapas.

Critérios de Sucesso

  • AC01 - Informações sobre a pessoa vítima
    Dado que estou preenchendo as informações para fazer uma denúncia,
    Quando vejo na tela a parte em que devo informar e identificar quem é a vítima,
    Então preencho as informações sobre a vítima:
    "Conheço a vítima?" (Deselecionado por padrão) - [sim ou não],
    *"Cor ou Raça" (não obrigatório) - opções para seleção [preta, parda],
    *"Nome" (não obrigatório) - texto simples com no máximo 40 caracteres
    *"Gênero" (não obrigatório) - É uma caixa de texto simples de 15 caracteres, opções de sugestão placeholder [Feminino, Masculino, Não-Binário, Agênero, etc..]
    *"Data de Nascimento" *(não obrigatório), somente datas válidas após 1900, menor que a data atual.
    *"Endereço" - texto simples com no máximo 255 caracteres (não obrigatório),
    *"Naturalidade" texto simples com no máximo 40 caracteres (não obrigatório),
    *"Telefone" formato 10 a 11 dígitos (não obrigatório)
    *"email" formato válido (não obrigatório)
    *"Por favor, descreva aqui as características da vítima." (obrigatório), texto com múltiplas linhas ( sugestão de 255 caracters).

  • AC02 - Denunciante não sabe informações "oficiais"(nome, nascimento, etc.) da vítima
    Dado que inseri nenhuma informação da pessoa vítima,
    Quando seleciono a opção para "Concluir denúncia",
    Então sou alertada que "Você não inseriu informações sobre a vítima. Precisamos que você complemente inserindo ao menos uma descrição informal sobre a pessoa." com a opção para fechar a mensagem, e a denúncia não é registrada sem informações de vítima.

  • AC03 - Descrição de características da pessoa vítima
    Dado que estou inserindo informações sobre uma pessoa vítima,
    Quando vejo o espaço para descrição de características
    Então vejo uma sugestão de como preencher o espaço, existe um texto escrito: "Era uma mulher negra, com aproximadamente 40 anos, magra, alta com cabelo curto...", e quando seleciono para inserir a informação o texto de sugestão some.

Melhorias card #38

Notes:
Este card é resultado de uma série de débitos técnicos identificados durante o desk check do story card #38.

1 - Validações de tamanho de string dos campos:
*"Nome" (não obrigatório) - texto simples com no máximo 40 caracteres;
*"Sobrenome" (não obrigatório) - texto simples com no máximo 40 caracteres,

2 - Validação de senha não é o suficiente (maior que 6 caracteres)
Hoje a validação da senha só acontece com ela estando vazia ou menor que 6 caracteres. Precisa ser mais elaborada (validar com o negócio se já foi conversada a preocupação da dificuldade da senha).

3 - Exibição dos erros de no cadastro para o usuário (novo layout)
O sistema não informa o que está acontecendo para o usuário.

4 - Criar uma relação de authentication do banco com cadastro de usuário no banco
No registrar há a opção de preencher nome e sobrenome, mas esses dados são perdidos. Nada é cadastrado na tabela users, apenas um usuário authetication é salvo (login e senha apenas)

Isolar o Tratamento de Rotas

  • Descrição da mudança
    • Migrar o tratamento de rotas dentro de src/components para src/routes/Routes.js
    • Eliminação da dependência history do arquivo package.json, adoção da biblioteca react-
      router-dom no lugar que já está presente no projeto.
    • Upgrade da biblioteca react-router-dom 4.1.2 para 4.2.2 .

Motivações:

  • Deixar o código mais coeso.
  • Adoção do jeito mais recente do React para lidar com rotas.
    -Possivéis Efeitos:
  • Quebra da aplicação uma vez que o ponto de entrada da aplicação.

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.