fga-eps-mds/2020.1-GaiaDex-wiki

View on GitHub
docs/product_backlog/acceptance_criteria.md

Summary

Maintainability
Test Coverage
# Critérios de Aceitação

| versão |    data    |                                                                         autor(es)                                                                         |                                     descrição                                      |
| :----: | :--------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------: |
|  0.1   | 11/09/2020 |                          [@guilhermedelyra](https://github.com/guilhermedelyra) e [@joaovitorml](https://github.com/joaovitorml)                          |                                Criação do documento                                |
|  0.2   | 13/09/2020 |                          [@guilhermedelyra](https://github.com/guilhermedelyra) e [@joaovitorml](https://github.com/joaovitorml)                          | Adição dos critérios das issues das sprints 2 e 3 (us01, us05, us08..11, us22..30) |
|  0.3   | 15/09/2020 | [@rafaelmakaha](https://github.com/rafaelmakaha), [@guilhermedelyra](https://github.com/guilhermedelyra) e [@joaovitorml](https://github.com/joaovitorml) |                     Remoção de [critérios extras](./extras.md)                     |

Este artefato diz respeito a uma lista de critérios necessários para que as _histórias de usuário_ sejam consideradas concluídas.
[Clique aqui para visualizar as histórias de usuário.](./product_backlog.md)

### US01 - Scannear planta

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/83) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/71) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/117) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/106) |

- [x] O usuário poderá acessar a câmera do celular
- [x] O usuário poderá scannear a planta por meio da câmera do celular
- [x] O sistema deve identificar a planta scanneada
- [x] O sistema deve retornar ao usuário informações sobre a planta scanneada

### US02 - Visualizar minha coleção

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/84) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/72) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/118) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/123) |

- [x] Visualizar widgets de todas as plantas coletadas
- [x] O widget deve mostrar o apelido da planta
- [ ] O widget deve redirecionar para a tela de Minha Planta caso seja tocado
- [ ] Visualizar mensagem de nenhuma planta coletada caso não existam plantas coletadas

### US03 - Visualizar informações da Minha Planta

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/85) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/73) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/114) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/99) |

- [x] Visualizar nome dado pelo usuário a essa planta
- [ ] Visualizar data de quando ela foi adicionada a coleção
- [x] O usuário deve poder alterar o apelido da planta
- [ ] O usuário deve poder re-configurar regras de notificação para lembrá-lo de regar/fertilizar a planta
- [x] O usuário deve poder excluir a mesma

### US04 - Cadastrar minha conta no aplicativo

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/5) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/4) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/14) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/111) |

- [x] O usuário deve fornecer o username/apelido desejado
- [x] O usuário deve fornecer o email
- [x] O usuário deve fornecer a senha
- [x] O usuário deve fornecer a confirmação de senha
- [x] O sistema deve validar os dados fornecidos pelo usuário
- [x] Em caso de invalidação, o sistema deve informar ao usuário quais dados não são válidos.
- [ ] Em caso de invalidação, o sistema deve informar ao usuário o motivo pelo qual aquele dado não é válido.

### US05 - Cadastrar/fazer login com conta Facebook

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/87) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/75) |
| ![Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pulls?q=is%3Apr+is%3Aclosed+87) | [![Pull request] |

- [ ] O usuário poderá realizar login com Facebook.
- [ ] O sistema deve pedir permissão ao usuário para acessar as informações do Facebook.
- [ ] O sistema deve mostrar uma mensagem de erro caso o login não seja realizado.

### US06 - Cadastrar/fazer login com conta Google

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/88) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/76) |
| ![Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pulls?q=is%3Apr+is%3Aclosed+88) | [![Pull request] |

- [ ] O usuário poderá realizar login com Google.
- [ ] O sistema deve pedir permissão ao usuário para acessar as informações do Google.
- [ ] O sistema deve mostrar uma mensagem de erro caso o login não seja realizado.

### US07 - Fazer login no aplicativo

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/89) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/5) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/18) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/111) |

- [x] O sistema deve válidar os dados utilizados pelo usuário no login.
- [x] Em caso de falha de login por dados invalidos, o sistema deve informar que há dados invalidos (sem explicitar quais são).
- [x] Em caso de login valido, o sistema deve redirecionar o usuário à tela principal.
- [ ] O sistema deve manter a sessão do usuário válida, até que ele decida deslogar.

### US08 - Fazer logout no aplicativo

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/90) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/6) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/18) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/111) |

- [x] O sistema deve invalidar a sessão do usuário
- [x] O sistema deve redirecionar o usuário à tela de login

### US09 - Visualizar minha conta

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/91) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/79) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/129) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/117) |

- [x] O usuário poderá visualizar o nome cadastrado
- [x] O usuário poderá visualizar o email cadastrado
- [x] O usuário poderá visualizar a foto de perfil utilizada
- [x] O usuário poderá visualizar o menu de configurações

### US10 - Visualizar configurações da conta

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/92) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/80) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pulls?q=is%3Apr+is%3Aclosed+92) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/118) |

- [x] Notificação de novo topico, like e comentario
- [ ] O usuário poderá visualizar as Politicas de Privacidade do aplicativo
- [ ] O usuário poderá visualizar os Termos de Uso
- [ ] O usuário poderá visualizar botão de Ajuda
- [ ] O usuário poderá visualizar o botão de Privacidade

### US11 - Alterar os dados cadastrados na minha conta

- [ ] O usuário poderá alterar seu username
- [ ] O usuário poderá alterar seu email
- [ ] O usuário poderá alterar sua foto de perfil
- [ ] O usuário poderá alterar sua senha
- [ ] O sistema deve validar as modificações fornecidas pelo usuário

### US12 - Deletar minha conta

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/10) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/7) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/14) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/111) |

- [x] O sistema deve perguntar ao usuário se ele _realmente_ gostaria de deletar a conta ou não
- [x] O sistema deve invalidar a sessão do usuário
- [x] O sistema deve remover todos os dados pessoais do usuario do banco de dados

### US13 - Visualizar perfil de outro usuário

- [ ] O usuário poderá visualizar o nome do outro usuário
- [ ] O usuário poderá visualizar a foto de perfil do outro usuário

### US15 - Criar tópico em um fórum de planta

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/97) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/85) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/82) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/103) |

- [x] O usuário deve definir um titulo para o tópico
- [x] O sistema deve validar o titulo do tópico, de forma a garantir que este não está vazio
- [x] O usuário poderá inserir uma descrição do tópico

### US16 - Editar tópico criado por mim

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/98) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/86) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/82) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/103) |

- [x] O usuário poderá editar o nome do tópico
- [x] O usuário poderá editar o conteúdo do tópico
- [x] O sistema deve validar o titulo do tópico, de forma a garantir que este não está vazio

### US17 - Deletar o tópico criado por mim

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/99) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/87) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/82) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/103) |

- [x] O sistema deve perguntar ao usuário se ele _realmente_ gostaria de deletar o tópico ou não
- [x] O sistema deve substituir o tópico por alguma mensagem explicativo (ex: "topico deletado") e manter os comentarios criados dentro do topico

### US18 - Upvote e downvote em um tópico

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/100) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/88) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/82) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/103) |

- [x] O usuário poderá dar uma avaliação positiva por intermedio de um botao auto-explicativo
- [x] O usuário poderá desfazer a ação
- [x] O sistema deve mostrar a quantidade de upvotes

### US19 - Criar comentário em um tópico

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/101) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/89) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/82) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/103) |

- [x] O sistema deve validar o conteúdo do comentario, de forma a garantir que este não está vazio

### US20 - Editar comentário que fiz em um tópico

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/102) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/90) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/82) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/103) |

- [x] O sistema deve validar o conteúdo do comentario, de forma a garantir que este não está vazio

### US21 - Remover um comentário que fiz em um tópico

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/103) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/91) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/82) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/103) |

- [ ] O sistema deve perguntar ao usuário se ele _realmente_ gostaria de deletar o comentário ou não

### US22 - Upvote e downvote em um comentário

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/104) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/92) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/82) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/103) |

- [x] O usuário, excetuando-se o criador do próprio comentário, poderá dar uma avaliação positiva
- [x] O usuário poderá desfazer a ação
- [x] O sistema deve mostrar a quantidade de upvotes

### US23 - Visualizar informações sobre a planta

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/85) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/93) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/114) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/99) |

- [x] O usuário poderá visualizar o nome da família desta planta
- [x] O usuário poderá visualizar o nome do gênero desta planta
- [x] O usuário poderá visualizar o nome da espécie desta planta
- [x] O usuário poderá visualizar o nome comum da planta
- [x] O usuário poderá visualizar uma imagem de “perfil” da planta

### US24 - Adicionar planta aos meus Favoritos

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/106) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/94) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/124) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/116) |

<adicionar>

### US25 - Remover uma planta da minha coleção de favoritos

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/107) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/95) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/124) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/116) |

- [x] O sistema deverá remover a referida planta da coleção de favoritos

### US26 - Visualizar minha coleção de favoritos

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/108) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/96) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/106) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/116) |

- [x] O usuário poderá abrir os cards de planta diretamente da aba de favoritos
- [x] Cada widget das plantas adicionadas à coleção de favoritos deverá mostrar seu Nome Comum
- [x] Cada widget das plantas adicionadas à coleção de favoritos deverá mostrar seu nome científico
- [x] Cada widget das plantas adicionadas à coleção de favoritos deverá mostrar um botão que redireciona, também, ao card de planta

### US27 - Adicionar apelido à minha planta

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/109) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/97) |
| [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pull/114) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/99) |

- [x] O usuário deverá adicionar um apelido a sua planta após o processo de scanneamento da mesma
- [x] O usuário poderá alterar o apelido da planta a qualquer momento em sua coleção
- [x] O sistema deverá garantir que o apelido é válido

### US28 - Definir configurações de notificação

| Backend | Frontend |
| ------- | -------- |
| [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/issues/110) | [Issue](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/issues/98) |
| ![Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-BackEnd/pulls?q=is%3Apr+is%3Aclosed+110) | [Pull request](https://github.com/fga-eps-mds/2020.1-GaiaDex-FrontEnd/pull/118) |

- [ ] O usuário deve poder configurar regras de notificação para lembrá-lo de regar/fertilizar a planta